博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用位生成子集
阅读量:6906 次
发布时间:2019-06-27

本文共 485 字,大约阅读时间需要 1 分钟。

  定义:

    对于任何一个集合B,只要A 包含于 B 那么A即是B的子集,每个集合子集个数为2^n个(n为集合中元素的个数)

考虑数2^n,它的第n位是1(第一位是第0位).它总共包含2^n 个数字。

n=0   2^n=1  空集

n=1 2^1=2  空集+只有一个元素的集合

假设以下n=2

n=2 总共有4个元素
集合元素个数 位表示法
0 0
1

01   和 10

2 11

由此有,我们需要枚举2^n次,每次检查生成数字的位数是否为1,如果有1的,说明应该取对应的元素。代码如下。

void subset(int n,int * a){    for (int i = 0;i < (1 << n);i++)    {        for (int j=0;j < i; j++)         {            if (i&(1<

 

posted on
2019-06-18 23:51 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/11048690.html

你可能感兴趣的文章
PHP入门
查看>>
phpexcel导入导出excel文件常用操作
查看>>
利用HttpClient 4.1 下载文件
查看>>
LNMP环境搭建-php
查看>>
Hadoop云计算的初步认识
查看>>
windows下创建控制台窗口
查看>>
JVM配置参数
查看>>
jBPM5与Activiti5比较
查看>>
iOS App 的逆向
查看>>
Spring如何扫描class和配置文件
查看>>
Java压缩技术(一) ZLib
查看>>
【VMware虚拟化解决方案】VMware Horizon View Client 各平台配置文档
查看>>
java线程池
查看>>
Linux内核线程
查看>>
Linux cp时总询问是否覆盖,怎样让它不询问直接覆盖
查看>>
笨方法学python Lesson 45
查看>>
Java HashMap的实现原理
查看>>
服务器的发送数据
查看>>
kvm install 报错could not open disk imageXXX: Permission denied
查看>>
lduan office 365 自定义域的添加和配置二
查看>>