我知道在undirected connected graph
articulation point
是刪除哪個圖形斷開後的頂點。對於Java代碼,我沿着這個鏈接http://algs4.cs.princeton.edu/41undirected/Biconnected.java.html。在無向連通圖中如何查找刪除哪個圖形斷開連接的頂點集?
現在假設我們有上述graph-
在上圖中沒有articulation points
因爲圖形不會成爲刪除任何單個頂點斷開。但是我們可以通過刪除多於1個頂點來使圖形斷開連接,例如,如果刪除4,6個頂點圖形,則 將變爲斷開連接。
如何找到一組頂點,使得刪除這些頂點後,圖形變爲斷開連接。可以說,頂點可以被刪除的限制是3,這意味着我們不能一次移除3個以上的頂點,從而使圖形斷開連接。
方法我thinking-
第1步 - 運行算法來找出一個關節點。
步驟2 - 如果在步驟1之後沒有關節點,我們從圖中刪除一個頂點並運行關節點算法,我們對圖中的所有頂點進行此操作。使用這個我們可以找到2個頂點(第一個是在運行算法之前被移除的頂點,第二個頂點是在算法運行之後被找到的),這些頂點的移除將會使圖形斷開,並且程序將因爲我們找到了一組頂點而停止。
步驟3 - 如果我們無法在步驟2中找到頂點集,我們從圖中移除2個頂點並運行關節點算法。我們在刪除每對圖頂點的 之後運行此算法。使用它我們可以找到一組3個頂點去除哪個圖將被斷開。如果仍然沒有斷開連接,我們不會再運行程序,因爲我們可以刪除的頂點的限制是3.
我認爲對此有更好的方法。
如何在刪除哪些圖形斷開連接後找到最小的一組頂點。
什麼可以是更好的方法來找到一組頂點去除哪些圖斷開連接。
按照這個鏈接,可能會幫助你在你的追求(http://stackoverflow.com/questions/15873153/explanation-of-algorithm-for-finding-articulation-points-or-cut-vertices-of-a- gr)和(http://www.geeksforgeeks.org/articulation-points-or-cut-vertices-in-a-graph/) – letsBeePolite
@skn:我不確定這些幫助如何 - 他們只是描述如何找到OP已經能夠完成的所有關節點。 –