算法竞赛入门经典:第七章 暴力求解法 7.8子集生成
来源:互联网 发布:淘宝怎么收钱 编辑:程序博客网 时间:2024/05/17 01:55
/*子集生成:给定一个集合,枚举它所有可能的子集。讨论范围:没有重复元素。增量构造法:一次选出一个元素放到集合中:*/#include <stdio.h>#include <stdlib.h>#define MAXSIZE 1024//每次递归调用都输出当前集合,递归边界也不需要显式确定--如果无法继续添加元素,就不再递归。void printPermutation(int n,int* iArr,int pos){//for(int i = 0 ; i < n ; i++)for(int i = 0 ; i < pos; i++)//打印初始序列,不是从头到尾打印,而是打印出到当前位置之前的所有元素,再确定下一个元素{printf("%d ",iArr[i]);//打印初始序列}putchar('\n');int iBeg = pos ? iArr[pos-1] + 1 : 0;//确定当前元素的最小可能值,定序技巧:规定集合A中所有元素的编号从小到大排列,就不会把(1,2)与(2,1)输出两次//for(int k = pos;k < n;k++)//for(int k = iBeg; k < n;k++){iArr[pos] = k;//iArr[0] = 0,iArr[1] = 1,... printPermutation(n,iArr,pos+1);}}int main(int argc,char* argv[]){int iArr[MAXSIZE];//这个数组是需要初始化的int n;scanf("%d",&n);/*for(int i = 0 ; i < n ; i++){scanf("%d",&iArr[i]);}*/printPermutation(n,iArr,0);system("pause");return 0;}
0 0
- 算法竞赛入门经典:第七章 暴力求解法 7.8子集生成
- 《算法竞赛入门经典》-【第七章:暴力求解法】-7.3:子集生成
- 算法竞赛入门经典_第七章 暴力求解法_7.2枚举排列:生成1~n的排列
- 算法竞赛入门经典第七章暴力求解法7.1节第一题
- 算法入门竞赛经典第七章暴力求解法7.1.1
- 《算法竞赛入门经典》-【第七章:暴力求解法】-7.2:枚举排列
- 《算法竞赛入门经典》-【第七章:暴力求解法】-7.4:回溯法
- 算法竞赛入门经典:第七章 暴力求解法 7.1除法
- 算法竞赛入门经典:第七章 暴力求解法 7.2最大乘积
- 算法竞赛入门经典:第七章 暴力求解法 7.3分数拆分
- 算法竞赛入门经典:第七章 暴力求解法 7.4双基回文数
- 算法竞赛入门经典:第七章 暴力求解法 7.5枚举排列
- 算法竞赛入门经典:第七章 暴力求解法 7.6可重复的排列
- 算法竞赛入门经典:第七章 暴力求解法 7.7解答树
- 算法竞赛入门经典:第七章 暴力求解法 7.9位向量法
- 算法竞赛入门经典:第七章 暴力求解法 7.10 二进制法
- 算法竞赛入门经典:第七章 暴力求解法 7.11回溯法
- 算法竞赛入门经典:第七章 暴力求解法 7.13困难的串
- Java修饰符关键词
- 指定域转换规则
- Android Drawable和Bitmap区别
- 01背包及其优化
- bat命令
- 算法竞赛入门经典:第七章 暴力求解法 7.8子集生成
- iOS经典网络开源库(整理)
- 【纵横科技】前端 三种 表单验证 有图哦
- win2012部署asp网站相关
- 快速打开hosts
- 串口之GetCommState、SetCommState函数详解
- HDU 1869 六度分离 dijkstra&&dsfa
- 算法竞赛入门经典:第七章 暴力求解法 7.9位向量法
- Function调用PropUtil读取配置文件数据