`
hermitte
  • 浏览: 29915 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

得到一个集合的所有子集的算法,非常巧,用二进制移位操作实现的

阅读更多
private static ArrayList SubSet(ArrayList set)
{
ArrayList subSet = new ArrayList();

ArrayList itemSet = new ArrayList();

int num = 1 << set.Count;

int bit;
int mask = 0; ;
for (int i = 0; i < num;i++ )
{
itemSet = new ArrayList();
for (int j = 0; j < set.Count; j++)
{
mask = 1 << j;
bit = i & mask;
if (bit >0) {

itemSet.Add(set[j]);

}
}
if (itemSet.Count > 0)
{
subSet.Add(itemSet);
}


}



return subSet;
}
分享到:
评论

相关推荐

    求集合的所有子集问题

    试写一个递归算法实现求一个集合的所有子集。 算法设计: 给定一个非空的集合,用递归算法输出它的所有子集。 数据输入: 由文件input.txt 提供输入数据。文件第1行是集合中的元素个数,第2行是集合的元素序列(元素...

    求一个集合子集的算法示例

    求一个集合子集的算法示例, 用两种方法解,一种是基于回溯的递归求解,一种基于位域映射.

    论文研究-基于二进制的关联规则挖掘算法.pdf

    将二进制引入关联规则求解中,充分利用二进制操作方便、运算速度快、节省空间的优势。在求解事务项集真子集和支持度时,对事务数据库中相同事务只求解一次,并给出了真子集的具体求解算法。本算法一次扫描数据库可以...

    得到一个集合的全部子集,java实现

    GetSubSet是得到给定大小的所有子集,若要得到所有子集,只需从i=1,2,...,n分别调用。

    算法设计实现题子集和问题c实现

    算法设计:对于给定的正整数的集合S={x1,x2,...,xn}和正整数c,计算S的一个子集S1,使得子集里的元素之和为c。 数据输入:由文件input.txt提供输入数据。文件第1行有2个正整数n和c,n表示S的大小,c是子集和的目标值...

    求一个集合的所有子集.cpp

    求一个集合的所有子集的C++实现

    C/C++ 求一个集合的子集

    C/C++ 求一个集合的子集,代码易懂,好用,谢谢下载

    输出集合的所有子集

    用于输出一个集合的所有子集,采用两种方法实现,值得一看!

    使用GA的二进制特征选择

    在二进制特征选择中,每个候选特征子集都可以用一个二进制编码来表示,其中每一位对应一个特征是否被选中。以下是使用GA进行二进制特征选择的一般步骤: 编码:将特征选择问题转化为一个二进制编码的优化问题。假设...

    java实验--求一个集合的子集

    java实验--求一个集合的子集,非递归实现。

    求集合的所有子集

    给定一个非空的集合,用递归算法输出它的所有子集。由文件input.txt 提供输入数据。文件第1行是集合中的元素个数,第2行是集合的元素序列(元素之间用空格分隔)。将计算出的所有子集分行输出到文件output.txt中。

    ASCII码与6bit二进制互相转换

    将6bit二进制转换为ASCII码,将ASCII码转换为6bit二进制

    求一个集合的子集(整数,不限个数)

    Get subset of integers in a file named "source" ,which is in the same directory 即 求一个整数集合的子集,集合元素的个数不限, 采用读取文件的方式

    实现一个集合中最大递增子集

    有两个实现方法: 1、一个是字符串,获取字符串最大递增子集 2、对象是list集合,获取list集合中最大递增子集 3、同理简单改正 也可以实现,连续相同字符串的最长子集

    求集合的所有子集 数据结构 严蔚敏

    求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏

    C经典算法之m元素集合的n个元素子集

    假设有个集合拥有m个元素,任意的从集合中取出n个元素,则这n个元素所形成的可能子集有那些?

    子集(二进制序列枚举法)1

    示例 1:输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输出:[[],[0]]解题思路:数组中的每一个数字

    子集和问题子集和问题的一个实例为〈S,t〉。其中,S={x1,x2,...,xn}是一个正整数的集合,c

    对于给定的正整数的集合S={x1,x2,...,xn}和正整数c,编程计算S 的一个子集 S1,使得x∈S1,∑x=c. Input 由文件input.txt 提供输入数据。文件第1 行有2 个正整数n 和c,n 表示S 的大小,c 是子集和的目标值。接...

    算法设计与分析-子集和问题

    子集和问题的一个实例为〈S,c〉。其中,S={x1,x2,…,xn}是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得 ∑x=c, (其中x∈S1)。试设计一个解子集和问题的方法。你可以假设处理范围...

Global site tag (gtag.js) - Google Analytics