我正在用C#編寫一個Digital Fountain系統。這個系統的一部分創建了我的整數集合,我需要找到創建集合的組合可以給我一套只有一個項目。什麼是最快的方法來做到這一點?查找重疊集
Set A: 1,2,3,4,5,6
Set B: 1,2,3,4,6
Set C: 1,2,3
Set D: 5,6
Solutions:
A - B => 5
A - (C + D) => 4
我不需要找所有組合,就足以找到了我許多獨特的數字越好。這可能會被利用來創建更高效的算法。
重要的一點,我忘了提: 我不知道,事前,多少套也有,而不是我加入他們一個接一個,每一次必須確定,如果我發現我每次需要數。所以該算法必須是可以隨着新套件的添加而分階段運行的。
Nb。在C#中的解決方案獲得獎勵標記;)
在實踐中,如何你有多少套/整數? – 2010-10-04 12:33:42
集合是否總是排序? – 2010-10-04 12:33:42
@Loic:可能很多,但這是非常可變的。 – Martin 2010-10-04 12:37:12