package test;
import java.util.ArrayList;
import java.util.List;
public class Test {
static int n =-1;
public Test() {
}
public void print(List list)
{
for(int i=0;i<list.size();i++)
System.out.print(list.get(i));
System.out.println();
}
/*通过递归减少集合中元素的个数
* @index 控制排除递归出重复的结果
* @list 递归的List
*/
public List deal(int index,List list)
{
//把原List克隆
List newList =(List) ((ArrayList)list).clone();
print(list);
n++;
for(int i=0;i<list.size();i++)
{
if(i>=index)
{
// System.out.println("list大小:"+list.size());
// System.out.println("index:"+index+" i:"+i);
list.remove(i);
//递归调用
deal(i,list);
list = (List) ((ArrayList)newList).clone();
}
}
return null;
}
public static void main(String[] args) {
List list = new ArrayList();
for(int i = 0 ; i < 5 ; i ++)
list.add(new Integer(i));
Test test = new Test();
test.deal(0,list);
System.out.println("@@@@@@@@@@@@@ "+n);
}
}
分享到:
相关推荐
问题描述: 试写一个递归算法实现求一个集合的所有子集。...将计算出的所有子集分行输出到文件output.txt中。 输入文件示例: 3 1 2 3 输出文件示例: (此空行表示空集) 3 2 2 3 1 1 3 1 2 1 2 3
用于输出一个集合的所有子集,采用两种方法实现,值得一看!
输出n个数集合的所有子集 c++课程实验 eclipse 编写
子集和问题的一个实例为?St?〈St〉。其中,S={x1,x2,…,xn}S={x1,x2,…...数据输入:第 1 行有 2 个正整数 n 和 c,n 表示 S 的大小,c是子集和的目标值。接下来的 1 行中,有 n 个正整数,表示集合 S 中的元素。
给定一个非空的集合,用递归算法输出它的所有子集。由文件input.txt 提供输入数据。文件第1行是集合中的元素个数,第2行是集合的元素序列(元素之间用空格分隔)。将计算出的所有子集分行输出到文件output.txt中。
子集和问题 Description 子集和问题的一个实例为〈S,t〉。其中,S={x1,x2,...,xn}是一个正整数的集合,c 是一个正整数。子集和问题判定是否存在S的一个子集S1,使得x∈S1,∑x=c....2 2 6 5 4 Sample Output 2 2 6
求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏
求一个集合的所有子集的C++实现
对S集合子集树采用深度优先的顺序进行搜索,子集树从上到下每层标示着S集合中每个从左到右元素“选”或者“不选”(左1右0)。 试着用回溯算法设计解子集和问题。 输入格式 第一行2个数:正整数n和整数c。n...
子集和问题的一个实例为〈S,c〉。其中,S={x1,x2,…,xn}是一个正整数的集合,c是一个正整数。...1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 100000000 Sample Output Yes No No
5-1 子集和问题 问题描述:子集和问题的一个实例为,t>。其中,S={x1,x2,...,xn}是一个正整数的集合,c是一个正整数 。 子集和问题判定是否存在S 的一个子集S1,使得子集里的元素之和为c ...2 2 6 5 4
例A={1,2,3,4,5,6,7,8,9} R={ (2,8), (9,4), (2,9), (2,1), (2,5), (6,2), (5,9), (5,6), (5,4), (7,5), (7,6), (3,7), (6,3) } 可行的子集划分为: A1={ 1,3,4,8 } A2={ 2,7 } A3={ 5 } A4={ 6,9 }
C/C++ 求一个集合的子集,代码易懂,好用,谢谢下载
输出n个字符(不限整数)的所有子集 C++ 数据结构 实验一
回溯法求子集:输入n,输出集合{1,2,…,n}的所有子集(n) 回溯法求子集:输入n,输出集合{1,2,…,n}的所有子集(n)
假设有个集合拥有m个元素,任意的从集合中取出n个元素,则这n个元素所形成的可能子集有那些?
得知根节点的ID查询出此节点下所有的子集,并可以转成json格式
程序设计算法, 集合所有子集下载 算法, 设计 数据 直接运行,