增量构造法输出所有子集
来源:互联网 发布:查微信聊天记录软件 编辑:程序博客网 时间:2024/06/04 17:44
给定一个集合,元素为{0,1,2,3,4.。。。。。n},输出所有的子集
思路是一次选出一个元素放入到集合A中,A始终保持从小到大顺序,cur记录当前子集中元素个数,下一个递归的子集为A[cur-1] + 1到n中任意选一个数添加在A的末尾,表示子集个数加1.
#include <iostream>using namespace std;void print_subset(int n, int* A, int cur){for(int i = 0; i < cur; i++) cout<<A[i]<<" ";if(cur)cout<<endl;int s = cur ? A[cur-1] + 1 : 0;for(int i = s; i < n; i++){A[cur] = i;print_subset(n, A, cur+1);}}int main(){while(1){int n;cin>>n;int A[20];print_subset(n, A, 0);}}
阅读全文
0 0
- 增量构造法输出所有子集
- 子集生成 增量构造法
- 枚举子集 增量构造法 位向量法 二进制法
- 子集生成:增量构造法 位向量法 二进制法
- 子集生成 增量构造法 位向量法 二进制法
- 增量构造法--解决子集问题的利器
- 子集生成算法——增量构造法
- 子集生成之增量构造法(允许有重复元素)
- 位向量法输出所有子集
- 输出集合的所有子集
- 二进制输出所有的子集
- 子集生成的两种方法 (增量构造法 和 位向量法)
- 子集生成算法 之 位向量法和增量构造法
- 暴力求解法_子集生成(增量构造法,位向量法,二进制法)
- 【算法竞赛入门经典】7.3子集生成【增量构造法】【位向量法】【二进制法】
- UVA - 11205 The broken pedometer(子集枚举+增量构造法)
- 输出集合所有子集的算法
- 输出一个集合所有的子集合
- Android权限注解
- C# 随机分一组数据
- Android权限详解
- android 添加桌面快捷方式
- 在python中处理matlab的mat文件
- 增量构造法输出所有子集
- Android 实时文件夹
- 自动拆装箱
- Android 桌面部件
- 立体感的3D图像(包含左右眼)生成Red-Cyan分析图
- ] Map在Java中构造缓存对象的原理及实现
- 安装tomcat常见问题
- 子类构造器Constructor是否可被Override(重写)
- 2017乘风破浪,量化护航 ——京东量化&中信证券线下交流会