是否有任何庫用於進行這些設置操作。特定尺寸的所有可能的唯一集合
我有一組(x,y)點。然後我需要創建一個Set(族)集。家族中的每個Set都應包含一定數量的元素。一組中元素的順序無關緊要。所以[m,l,n]與[l,m,n]相同。
是否有任何庫用於進行這些設置操作。特定尺寸的所有可能的唯一集合
我有一組(x,y)點。然後我需要創建一個Set(族)集。家族中的每個Set都應包含一定數量的元素。一組中元素的順序無關緊要。所以[m,l,n]與[l,m,n]相同。
您要求的內容叫做combinations。番石榴有a method計算排列,這是相關的。但是,如果您只需要組合,那麼不太知道的combinatoricslib看起來像The Right Thing。下面是該庫的網站爲例,使用String
S:
// Create the initial vector
ICombinatoricsVector<String> initialVector = Factory.createVector(
new String[] { "red", "black", "white", "green", "blue" });
// Create a simple combination generator to generate 3-combinations of the initial vector
Generator<String> gen = Factory.createSimpleCombinationGenerator(initialVector, 3);
// Print all possible combinations
for (ICombinatoricsVector<String> combination : gen) {
System.out.println(combination);
}
AFAICS你需要一個'Point'類,然後誰擁有'設置',讓我們說,'Figure'和持有其他類的類'設置
首先生成所有組合需要指數級更多的內存。但是,如果您在生成時處理每個組合,您的固定內存使用量會很小。生成組合是一個循環和遞歸的問題。 – 2013-04-24 20:29:38