Tag: powerset

如何从arrayList对象中创建所有可能的幂集(或子集)?

说我有以下课程: class A { String name; Double value; } 以及可能具有以下内容的上述类对象的列表: [{f 2.1}, {c 1.1}, {a 0.3}… and so on] [{n 0.5}, {f 1.9}, {x 0.1}, {a 1.9}, {b 1.1}… and so on] … and so on 我想要的只是做以下事情: 1. Building power subsets from the internal list items(NB: skip the single subsets). 2. Push the subset in […]

获得n元组中的所有1-k元组

当n = 5且k = 3时,以下循环将执行此操作 List l=new ArrayList(); l.add(“A”);l.add(“B”);l.add(“C”);l.add(“D”);l.add(“E”); int broadcastSize = (int) Math.pow(2, l.size()); for (int i = 1; i 0) { if ((mask & 1) == 1) { System.out.println(“.. “+mask); buffer.append(l.get(j)); if (++size>3){ buffer = new StringBuffer(50); break; } } System.out.println(” “+mask); mask >>= 1; j++; } if (buffer.length()>0) System.out.println(buffer.toString()); } 但是效率不高我想用银行家的序列去做,然后探索第一个单身,然后是对,然后是3元组和停止。 我没有找到办法,但至少这个循环应该更有效: […]

打印列表的所有可能子集

我有一个元素列表(1,2,3),我需要获取该列表的超集(powerset)(没有重复元素)。 所以基本上我需要创建一个列表列表,如下所示: {1} {2} {3} {1, 2} {1, 3} {2, 3} {1, 2, 3} 实现这一目标的最佳方式是什么(简单>效率在这种情况下,列表不会很大)? 最好是在Java中,但任何语言的解决方案都是有用的。