雙連通分量

來源:互聯網
上載者:User

本部落格轉載自http://blog.csdn.net/tsaid/article/details/6877404
[點連通度與邊連通度]

在一個無向連通圖中,如果有一個頂點集合,刪除這個頂點集合,以及這個集合中所有頂點相關聯的邊以後,原圖變成多個連通塊,就稱這個點集為割點集合。一個圖的點連通度的定義為,最小割點集合中的頂點數。類似的,如果有一個邊集合,刪除這個邊集合以後,原圖變成多個連通塊,就稱這個點集為割邊集合。一個圖的邊連通度的定義為,最小割邊集合中的邊數。

[雙連通圖、割點與橋]

如果一個無向連通圖的點連通度大於1,則稱該圖是點雙連通的(point biconnected),簡稱雙連通或重連通。一個圖有割點,若且唯若這個圖的點連通度為1,則割點集合的唯一元素被稱為割點(cut point),又叫關節點(articulation point)。如果一個無向連通圖的邊連通度大於1,則稱該圖是邊雙連通的(edge biconnected),簡稱雙連通或重連通。一個圖有橋,若且唯若這個圖的邊連通度為1,則割邊集合的唯一元素被稱為橋(bridge),又叫關節邊(articulation edge)。可以看出,點雙連通與邊雙連通都可以簡稱為雙連通,它們之間是有著某種聯絡的,下文中提到的雙連通,均既可指點雙連通,又可指邊雙連通。雙連通分量分兩種,一種是刪除一條邊仍然連通的,叫做邊連通分量,以橋為分割,另外一個是刪除一個點仍然連通,叫點連通分量,下面分開來講。邊雙連通分量:其實把所有的橋都找出來就可以進行劃分了,由於在計算連通分量的tarjan演算法中,如果兩個點是在同一個邊連通分量中,那麼他們的low值是一樣的,所以就可以直接通過tarjan演算法求出所有的low值,然後判斷low值是否相同就可以判斷是否在同一個邊連通分量中。點雙連通分量:在計算點連通分量的演算法中,是以割點為分界的,和邊連通分量的求法差不多,不過需要多增加一個棧來記錄經過的點,並且要注意和強連通分量所用的棧的不同,在點連通分量中,割點是可以在多個點連通分量中的,所以這裡的退棧是有一些地方。

[雙連通分支]

在圖G的所有子圖G’中,如果G’是雙連通的,則稱G’為雙連通子圖。如果一個雙連通子圖G’它不是任何一個雙連通子圖的真子集,則G’為極大雙連通子圖。雙連通分支(biconnected component),或重連通分支,就是圖的極大雙連通子圖。特殊的,點雙連通分支又叫做塊。

[求割點與橋]

該演算法是R.Tarjan發明的。對圖深度優先搜尋,定義DFS(u)為u在搜尋樹(以下簡稱為樹)中被遍曆到的序號(等價於時間戳記)。定義Low(u)為u或u的子樹中能通過非父子邊追溯到的最早的節點,即DFS序號最小的節點的序號。根據定義,則有:

Low(u)=Min
{
DFS(u)
DFS(v) (u,v)為後向邊(返祖邊) 等價於 DFS(v)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.