资讯专栏INFORMATION COLUMN

如何获得一个集合的所有子集合?

cnsworder / 2764人阅读

摘要:对于集合里面的任何一个元素,有两种可能,一种是在子集合里,另一种是不在子集合里。在子集合里的话用表示,不在的话用表示,那么一个集合的子集合都可以用二进制表示,假设集合为,那么可以用下列二级制表示共有种表示。

对于集合里面的任何一个元素,有两种可能,一种是在子集合里,另一种是不在子集合里。在子集合里的话用1表示,不在的话用0表示,那么一个集合的子集合都可以用二进制表示,假设集合为{1,2,3},那么可以用下列二级制表示:000,001,010,011......共有2^n种表示。

static ArrayList> getSubsets2(ArrayList set){
    ArrayList> allsubsets = new ArrayList>();
    int max = 1 << set.size(); //how many sub sets
    for(int i=0; i s = new ArrayList();
        while(k > 0){
            if((k&1) > 0){
                s.add(set.get(index));
            }
            k>>=1;
            index++;
        }
        allsubsets.add(s);
    }
    return allsubsets;
}

public static void main(String[] args){
    ArrayList s = new ArrayList();
    s.add(1);
    s.add(2);
    s.add(3);
    ArrayList> allsubsets = getSubsets2(s);
    for(ArrayList set : allsubsets){
        System.out.println(set);
    }
}`

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64311.html

相关文章

  • MongoDB指南---2、MongoDB基础知识-文档、、数据库、客户端

    摘要:上一篇文章指南简介下一篇文章指南基础知识数据类型非常强大但很容易上手。把同种类型的文档放在一个集合里,数据会更加集中。命名集合使用名称进行标识。集合名不能是空字符串。简单起见,数据库名应全部小写。 上一篇文章:MongoDB指南---1、MongoDB简介下一篇文章:MongoDB指南---3、MongoDB基础知识-数据类型 MongoDB非常强大但很容易上手。本章会介绍一些Mon...

    SnaiLiu 评论0 收藏0
  • MongoDB指南---2、MongoDB基础知识-文档、、数据库、客户端

    摘要:上一篇文章指南简介下一篇文章指南基础知识数据类型非常强大但很容易上手。把同种类型的文档放在一个集合里,数据会更加集中。命名集合使用名称进行标识。集合名不能是空字符串。简单起见,数据库名应全部小写。 上一篇文章:MongoDB指南---1、MongoDB简介下一篇文章:MongoDB指南---3、MongoDB基础知识-数据类型 MongoDB非常强大但很容易上手。本章会介绍一些Mon...

    W4n9Hu1 评论0 收藏0
  • 我对JS简单学习

    摘要:我对集合的学习第一步知道相关概念集合是由一组无序且唯一的项组成的,在中已经实现了类似的类。就是集合第二步实现相关操作方法首先实现方法,判断值是否在集合中,返回布尔值。操作符还有另外一种实现方法,方法返回表明一个对象是否具有特定属性的布尔值。 我对集合的学习 第一步知道相关概念 集合是由一组无序且唯一的项组成的,在ES6中已经实现了类似的Set类。 function Set() { ...

    paney129 评论0 收藏0
  • 每周一练 之 数据结构与算法(Set)

    摘要:一集合是什么与它相关数学概念有哪些解题集合定义集合是一种包含不同元素的数据结构。集合中的元素称为成员,集合最重要的两个特点集合中的成员是无序集合中不存在相同成员即无序且唯一。 showImg(https://segmentfault.com/img/remote/1460000019005270); 这是第四周的练习题,五一放假结束,该收拾好状态啦。 下面是之前分享的链接: ...

    silvertheo 评论0 收藏0
  • 数据结构-

    摘要:集合是一种包含不同元素的数据结构集合中的元素称为成员集合的两个最重要的特性是首先集合中的成员是无序的其次集合中不允许相同成员存在集合在计算机科学中扮演了非常重要的角色然而在很多编程语言中并不把集合当成一种数据类型当你想要创建一个数据结构用来 集合(set)是一种包含不同元素的数据结构. 集合中的元素称为成员. 集合的两个最重要的特性是: 首先, 集合中的成员是无序的; 其次, 集合中不...

    SegmentFault 评论0 收藏0

发表评论

0条评论

cnsworder

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<