我想從給定頂點開始的圖的子圖。連接到起始頂點的所有頂點都被視爲應返回的子圖的一部分。給定起始頂點的圖的子圖
我已經解決了這個需求,但很好奇,如果有更高效的解決方案。我提出的解決方案是對圖進行DFS並記錄在集合S中遇到的每個頂點。然後,我只是從原始圖中的所有邊連接到S和I中的頂點從中建立了一個子圖。原始圖形中的邊緣存儲在一個C#字典中,我相信它基本上是一個哈希。
DFS和BFS不起作用,因爲如果您有兩個頂點都具有相同的子級,BFS或DFS將不會遍歷其中一個邊。因此,在這種情況下,子圖將包含所有正確的頂點,但是會錯過一些邊緣對。
有沒有比我提出的更好的解決方案?
你有圖表的表示是什麼?該圖是否定向? – svick 2011-06-14 21:56:09
@svick它是直接的。如果定向的定義是不存在任何邊a-> b並且b-> a,那麼它也是定向的。 – KyleM 2011-06-15 14:20:17
是的,我的意思是指示。 – svick 2011-06-16 06:21:50