输出一个集合的所有子集(算法)
来源:互联网 发布:唐山学院网络教育平台 编辑:程序博客网 时间:2024/05/21 01:32
转自输出一个集合的所有子集(算法)
时间复杂度很显然,最少也是2^n,空间复杂度,是n,代码比较简单(每个元素要么在子集中,要么不在,用 j 的二进制形式的每一位代表数组a中对应的位置的元素是否在子集中,例如,当i = 5时, j = i = 5,那么j = 0101; 我们对应的输出 a[0], a[2], 这个过程在while循环中完成)
- #include <stdio.h>
- int main()
- {
- int a[4] = {1, 2, 3, 4};
- int i, j, k;
- int t = 1 << 4;
- for (i = 0; i < t; i++)
- {
- j = i;
- k = 0;
- printf("{");
- while (j)
- {
- if (j & 1)
- {
- printf("%d", a[k]);
- }
- j >>= 1;
- ++k;
- }
- printf("}\n");
- }
- return 0;
- }
0 0
- 输出一个集合的所有子集(算法)
- 输出一个集合的所有子集(算法)
- 输出一个集合的所有子集(算法)
- 输出一个集合所有的子集合
- 输出一个集合的所有子集
- 输出一个集合的所有子集合
- 输出一个集合的所有子集
- 输出集合所有子集的算法
- 输出集合所有子集的算法
- 算法篇:输出集合的所有子集
- 输出一个集合的幂集(所有子集)
- 输入一个集合,输出这个集合的所有子集
- 输出集合的所有子集
- 给定一个集合,输出它的所有子集
- 一个集合的所有子集
- 给定一个集合,输出它的所有子集(JAVA实现)
- 输出一个集合的所有子集合-Java代码实现(一)
- 输出一个集合的所有子集合-Java代码实现(二)
- 在struts2中访问servletAPI
- DLX精确覆盖poj1086
- hdu 5045 费用流
- 【Manacher】 HDOJ 3068 最长回文
- JavaSE线程复习之路
- 输出一个集合的所有子集(算法)
- Storm基础知识
- [欧拉回路] poj 1386 Play on Words
- 靠谱的同步工具,记同步短信经历
- Note for video Machine Learning and Data Mining——The Learning Problem
- 蓝的成长记——追逐DBA(7):基础命令,地基之石
- IOS Layer的使用
- qt for android实现程序的开机自启动。
- zoj 2391 Beautiful People 最长上升子序列