判斷度數序列是否可圖的兩種方法


給定一個度數序列\(\{d\}\),判斷是否可以根據這個度數序列構造出簡單無向圖。

Havel–Hakimi algorithm:

一個度數序列可以構成簡單無向圖,當且僅當將這個序列\(\{d\}\)降序排序之后,將\(d_1\)后面的\(d_1\)個數\(-1\),並將\(d_1\)從序列中除去,形成的新度數序列沒有負數,且新的度數序列可以構成簡單無向圖。
於是我們發現,利用這個方法遞歸地判斷,最后一定以出現負數或者全零序列結束,時間復雜度\(\Theta(n^2)\),同時我們可以根據這個算法構造出圖的鄰接矩陣。
例題:poj1659

Erdős–Gallai theorem:

一個度數序列可以構成無向圖,當且僅當將\(\{d\}\)降序排序之后:

\[\forall k\in [1,n]\ \ \ \sum_{i=1}^{k}d_i\leq k(k-1)+\sum_{i=k+1}^{n}\min(d_i,k) \]

時間復雜度\(\Theta(n)\),但是這種算法只可以進行判定,不可以構造出具體的圖。
為了方便記憶,我們可以這樣粗略地理解式子的含義:一段前綴他們的度數可以通過自己內部的\(k\)個點互相連邊和后面的\(n-k+1\)個點來貢獻。
例題:New Year and the Acquaintance Estimation


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM