在C#中有權利圖中找到最大權重集羣的免費可用實現嗎?在加權圖中找到最大權重集團C#實現
1
A
回答
1
找到最大集團是一個NP難題。你可以在Clique problem(維基百科)找到有用的東西。
2
您可以閱讀論文「最大集團問題的快速算法」,您將找到本文提出的有效最大集團算法。另外,最大加權算法可以在「用於最大加權集團問題的新算法」中找到。這裏是僞代碼:
1 **FUNCTION CLIQUE(U, size)**
2 if |U| = 0 then
3 if size > max then
4 max ← size
5 New record; save it.
6 found ← true
7 end
8 return
9 end
10 while |U| != ∅ do
11 if size + weight(|U|) <= max then
12 return
13 end
14 i ← min{ j|vj ∈ U}
15 if size + c[i] <= max then
16 return
17 end
18 U ← U ∖ {vi}
19 CLIQUE(U ∩ N(vi); size + weight(vi))
20 if found = true then
21 return
22 end
23 end
24 return
25 **FUNCTION NEW()**
26 max ← 0
27 for i ← n downto 1 do
28 found ← false
29 CLIQUE(Si ∩ N(vi), weight(i))
30 c[i] ← max
31 end
32 return
我們假設Si代表有比我大的指數,例如頂點{V1,V1 + 1,...,VN}。 N(vi)表示vi的相鄰頂點。全局變量最大表示我們現在發現的集團的最大尺寸,而全局變量找到表示我們是否找到了更大的集團。數組c []記錄Si的最大集團大小。 大小在本地遞歸記錄最大團大小。
有幾種修剪策略,它能避免無用的搜索,特別是在第11行和15行
您可以使用哈希表來實現這個算法。
相關問題
- 1. 高密度大圖中的最大加權集團
- 2. 實現加權圖
- 3. 查找最小加權集
- 4. 集團授權
- 5. 如何在加權圖中找到權值總和最大的路徑?
- 6. 找到一個圖的最小權重
- 7. 實現無向加權圖
- 8. 最大化節點權重和在遍歷的加權邊緣
- 9. 在C++中找到最短路徑權重
- 10. 二部圖中的最大加權獨立集合
- 11. 在非加權圖中找到最短路徑
- 12. 如何在定向加權圖中找到最短週期?
- 13. 如何找到無向加權圖中最長(最重)的軌跡?
- 14. java - 如何找到MST中最大的加權邊緣?
- 15. 在Spark GraphX中尋找最大邊緣權重
- 16. 如何在RandomForest實現中加權類
- 17. Redis:實現加權定向圖
- 18. 在PHP中實現權限
- 19. 在SOA中實現授權
- 20. 如何找到最短路徑在相等加權圖
- 21. 如何找到最大的邊緣加權派系?
- 22. 在具有正權重週期的圖中最大化利潤
- 23. 在加權圖中查找邊緣
- 24. 算法找出加權重疊區間的權重總和最高的區間
- 25. 我們如何在網格中找到兩條權重最大的路線?
- 26. 找到集團
- 27. 查找值和權重的流運行加權中值
- 28. 在Java和Bellman-Ford中加權定向圖的實現
- 29. 比較大型加權標籤雲集?
- 30. 找到最後一個TR(集團)
作業有問題? – elricL 2011-06-03 07:52:25
http://en.wikipedia.org/wiki/Graph_theory – MBen 2011-06-03 07:59:45
這不是一項家庭作業。只是缺乏算法的知識。 – StuffHappens 2011-06-03 08:03:49