ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> # Subset - 子集 -------- #### 问题 <div> 问题: <p id="i">求拥有\(n\)个元素的集合\(A = \{a_0,a_1,a_2, \cdots ,a_{n-1} \}\)的所有子集。 </p> 解法: <p id="i">拥有\(n\)个元素的集合\(A\)的所有子集,可以看作从集合\(A\)中取出\(0\)个元素的所有组合、取出\(1\)个元素的所有组合、...取出\(n-1\)个元素的所有组合、取出\(n\)个元素的所有组合,这些所有组合即为所求。 </p> <p id="i">具体从n个元素的集合中取出m个元素的所有组合,可以通过<Combination>中的算法求出。因此子集问题只需要遍历所有元素个数即可。</p> <p id="i">该算法的时间复杂度为\(O(2^n)\)。 </p> </div> -------- * [Upper Folder - 上一级目录](../) * [Source Code - 源码](https://github.com/zhaochenyou/Way-to-Algorithm/blob/master/src/CombinatorialMathematics/Subset.hpp) * [Test Code - 测试](https://github.com/zhaochenyou/Way-to-Algorithm/blob/master/src/CombinatorialMathematics/Subset.cpp)