子集生成(二进制法)-java实现
2015-02-07 08:55
323 查看
给定子集S,如{0,1,2,...n-1}:从右往左第i位表示元素i是否在集合S中。
package chp7; /** * 生成子集 * @author administrator * */ public class BinaryMethod { public static void main(String[] args) { //输入集合S,求S的所有子集 int S[]={1,2,3,5,9}; //1向左平移S.length个长度就是2^S.length,枚举各子集所对应的编码0,1,2,...2^S.length-1 for(int i=0;i<(1<<S.length);i++){ print(S,i); } } //根据每个子集的编码对应在集合S中的位置,如00100,对应于S就是{3} public static void print(int[] S,int i) { int N= S.length; for(int j=0;j<N;j++){ //1<<j:从右往左,第j位置为1,其余为全部为0,可以检测i的第j位是否为1,如果为1,则输出在S中的值 if((i & (1<<j))!=0 ){ System.out.print(S[j]+" "); } } System.out.println(); } }
相关文章推荐
- 用Java实现自动在数据库表中生成ID号
- Web开发中的验证码图片的生成-基于Java的实现
- 最小生成树-Kruskal算法 java代码实现
- 生成真值组合【Java实现】
- 减一技术应用:生成排列与幂集(Java实现)
- Java实现图形验证码的生成部分
- Java进阶: 使用 Jni 调用 Dll 的实现(使用VS2008 生成Dll)
- 怎样用JAVA实现在WEB页面生成曲线走势图?
- java调用mysql的工具类实现数据库远程备份,还原,生成创建表的sql脚本
- 转:JAVA动态代理实现&&动态字节码生成(asm)
- java-web-PIO实现自动生成excel录入模板(实现下拉列表框)[原创]
- java 实现生成随机大整数
- 最小生成树prim java 实现
- 最小生成树-Prim算法 java代码实现
- Java读取网页内容并生成静态页面的简单实现
- 实现MD5序列的生成[Java]
- 视频上传过程中自动转换为flv格式并截图生成缩略图(Java调用命令实现)
- java-web-PIO实现自动生成excel录入模板(实现下拉列表框)[
- Java实现HTML代码生成PDF文档
- 自己是实现的一个生成子集程序