求集合所有子集问题
来源:互联网 发布:业务员提成软件 编辑:程序博客网 时间:2024/05/29 19:39
算法思想:集合中的某个元素,要么在子集中,要么不在子集中;
每次从集合中取一个元素,将该元素放在子集中,继续取元素直到集合尾部;
将该元素从子集中删除,继续取元素知道集合尾部;
在到达集合尾部时,输出子集中的元素。
C#实现:
/// <summary> /// 求集合的所有子集 /// </summary> /// <param name="a">集合</param> /// <param name="i">已对集合中的第i-1个元素取舍</param> /// <param name="n">集合元素的个数</param> /// <param name="b">临时集合,用来输出子集</param> void PowerSet(int[] a,int i,int n,List<int> b) { if(i>n) //到达集合尾部输出子集元素 { Console.Write(" { "); for (int j = 0; j < b.Count;j++ ) { if(j < (b.Count - 1)) Console.Write(b[j] + " , "); else Console.Write(b[j] + " } "); } if(b.Count==0) { Console.Write(" } "); } Console.WriteLine(); } else { int x = a[i-1]; b.Add(x); //取 PowerSet(a, i + 1, n, b); b.Remove(x); //舍 PowerSet(a, i + 1, n, b); } }
- 求集合所有子集问题
- 求一个集合的所有子集问题
- 求一个集合的所有子集问题
- 求一个集合的所有子集问题
- 求一个集合的所有子集问题
- 求一个集合的所有子集问题
- 求集合子集问题
- 求集合的所有子集
- 求集合中的所有子集
- 求集合的所有子集
- 求集合的所有子集
- 求集合的所有子集
- 求集合的所有子集
- 回溯法求集合的所有子集
- 分治法求集合的所有子集
- 求集合的所有子集(续)
- 求集合的所有子集的算法
- 求一个集合的所有子集
- 创建Oracle Job
- 国际化(1)
- 只是,眼泪知道,你会忘记一切,眼泪不会。
- 数据库事务的ACID特性
- Linux系统32位与64位数据类型长度比较
- 求集合所有子集问题
- java.lang.UnsatisfiedLinkError解决方法汇集(转载)
- 内容营销典范:奥巴马竞选演讲视频
- UIImageView 设置 圆角
- 在mac上安装nginx
- spring定时任务之quartz
- NHibernate Linq 的 join (联合查询) 的例子
- Activity 的生命周期
- Kinect for Windows SDK开发入门(一):开发环境配置