大廠面試經典問題:什麼是繼承 ?JavaScrpt中如何通過原型鏈實現繼承 ?
阿新 • • 發佈:2022-03-31
一、割點和割邊
-
割點:在無向連通圖中,刪除一個頂點以及和它相鄰的所有邊,圖中的連通分量個數增加,則該頂點稱為割點
-
割邊(橋):在無向連通圖中,刪除一條邊,圖中的連通分量個數增加,則該條邊稱為割邊或者橋
舉個栗子:
割點:
割邊:
二、邊連通分量和點連通分量
-
邊雙連通圖:如果在無向圖中不存在割邊,則稱它為邊雙連通圖。在邊雙連通圖中,任意兩個節點之間都存在兩條及以上的路徑,並且這些路徑上的邊互不重複。
-
點雙連通圖:如果在無向圖中不存在割點,則稱它為點雙連通圖。在點雙連通圖中,如果節點數大於\(2\),則在任意兩個節點之間都存在兩條及以上路徑,並且這些路徑上的點互不重複。
-
邊雙連通分量:無向圖的極大邊雙連通子圖
-
點雙連通分量:無向圖的極大點雙連通子圖被稱為點雙連通分量,記作\(v-DCC\)
點雙連通分量的性質:
- 點雙連通分量之間以割點連線,且兩個點雙連通分量之間有且只有一個割點
- 每一個割點可以任意屬於多個點雙連通分量,因此求點雙連通分量時,可能包含重複的點
- 只有一條邊連通的兩個點也是點雙連通分量
一張圖無向連通圖是“點雙連通圖”,當且僅當滿足以下兩個條件之一:
- 圖的頂點個數不超過\(2\)
- 圖中任意兩點都同時包含至少一個簡單環,其中“簡單環”是指不自交的環,也就是我們通常畫出的環。
- 一張無向連通圖是“邊雙連通圖”,當且僅當任意一條邊都包含在至少一個簡單環中。
總結:
對於一個連通圖,如果任意兩點之間至少存在兩條沒有重複節點的路徑,則稱這個圖為點雙連通的(簡稱雙連通);如果任意兩點之間至少存在兩條沒有重複邊的路徑,則稱該圖為邊雙連通的。點雙連通圖的定義等價於任意兩條邊都同在一個簡單環中,而邊雙連通圖的定義等價於任意一條邊至少在一個簡單環中。對一個無向圖,點雙連通的極大子圖稱為點雙連通分量(簡稱雙連通分量),邊雙連通的極大子圖稱為邊雙連通分量。在每一個點雙連通圖中,內部無割點;在每一個邊雙連通圖中,內部無橋。
舉個栗子:
邊雙連通圖:
邊雙連通分量:
點雙連通圖:
點雙連通分量: