簡體   English   中英

算法/圖形:維護集

[英]Algorithm/Graphs: Maintain sets

在一個應用程序中,我正在逐一讀取無向圖的頂點,只有當兩個頂點都出現時,邊緣才會變得明顯。

解析之后,我需要快速地一張一張地迭代圖的連接組件。 在解析時建立連接組件的選擇算法是什么? (在解析時,因為列出邊緣相當昂貴)。

我有250個頂點,很難說出每個頂點的邊數,但是可以說它受100個限制(也就是說,總共有<< 250 * 100/2 = 12500個邊)。 我還想知道較低的邊緣計數(比如說500)將如何影響算法的選擇。 (是的,頂點不是250個,但是在此應用中,甚至很少的加速計數-該算法運行多次)。

我想到的最簡單的解決方案是一些增強的“聯合查找”算法。 對於基礎知識,請查看有關它的Wiki文章 ,或者它是ROBERT SEDGEWICK在Coursera的最新課程“ Algorithms,Part1”上提出的-它是在“第1周:聯合查找”期間進行的。 請查看課程檔案 (您可以免費注冊)。 在第1周的幻燈片45上,您可以找到該算法的基本版本和增強版本的最壞情況時間摘要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM