位运算表示集合的整数
来源:互联网 发布:淘宝缴纳保证金流程 编辑:程序博客网 时间:2024/05/16 07:42
- 表达方式
- 代码实现
表达方式
将一个集合{0,1,2,3,……,n-1}的子集s用二进制编码可以编码为如下整数
在这种编码下,我们就可以用位运算来表示集合的一些运算,具体例子如下:
空集
只含有第i个元素的子集 {i} :
含有全部n个元素的集合 {0,1,2,…….,n-1}:
判断第i个元素是否属于集合s:if(s>>i&1);
向集合中加入第i个元素:
从集合中去除第i个元素:s&~(1<<i);
集合s和t的并集 : s | t;
集合s和t的交集 : s&t;
代码实现
下面介绍几种枚举集合的方法,//*的内容表示自己的处理
1.枚举所有子集
for(int s=0;s<(1<<n);s++){ //*}
2.枚举某个集合子集
int sub=sup;do{ //* sub=(sub-1)⊃}while(sub!=sup);int comb=(1<<k)-1;
3.枚举所有集合大小为k的子集
int comb=(1<<k)-1;while(comb<(1<<n)){ //* int x=comb&-comb,y=comb+x; comb=((comb&-y)/(x>>1))|y;}
阅读全文
0 0
- 位运算-集合的整数表示
- 位运算--集合的整数表示
- 位运算表示集合的整数
- 集合的整数表示
- 集合的整数表示
- 集合的整数表示
- 集合的整数表示
- 集合的整数表示
- 整数数据类型表示范围与位运算
- 【专栏】集合的整数表示
- 集合的位向量表示
- 集合的表示及其运算
- 用位运算求给定整数的二进制表示中1的个数
- 位运算--一个整数的二进制表示中1的个数
- 位运算之求整数二进制表示中1的个数
- C语言的位操作符可以用来表示集合的运算
- 整数的无穷位表示法
- 整数的补码表示及其运算分析
- win10+python3.5+tensorflow安装
- Android手势识别之Fragment嵌套ViewPager缩放问题
- python实现:无刻度的一大一小水罐取水问题
- 动态创建表格
- Android调试:真机连接不上AS(ADB端口被占用)
- 位运算表示集合的整数
- 欢迎使用CSDN-markdown编辑器
- 网络安全实验,虚拟机下ubuntu路由设置
- v4l2的学习建议和流程解析
- Ubuntu 16.04虚拟机调整窗口大小自适应Windows 7
- 响应式布局
- Jboss的EJB容器的相关文档
- face_recognition人脸识别Python安装
- 从汇编层次理解 i++ 与 ++i 的区别