Havel-Hakimi定理

1,Havel-Hakimi定理主要用來判定一個給定的序列是否是可圖的。

2,首先介紹一下度序列:若把圖 G 所有頂點的度數排成一個序列 S,則稱 S 爲圖 G 的度序列。

3,一個非負整數組成的有限序列如果是某個無向圖的序列,則稱該序列是可圖的。

4,判定過程:(1)對當前數列排序,使其呈遞減,(2)從S【2】開始對其後S【1】個數字-1,(3)一直循環直到當前序列出現負數(即不是可圖的情況)或者當前序列全爲0 (可圖)時退出。

5,舉例:序列S:7,7,4,3,3,3,2,1  刪除序列S的首項 7 ,對其後的7項每項減1,得到:6,3,2,2,2,1,0,繼續刪除序列的首項6,對其後的6項每項減1,得到:2,1,1,1,0,-1,到這一步出現了負數,因此該序列是不可圖的。

6,應用:http://poj.org/problem?id=1659

題意很簡單,分析之後會發現其實本題的意思就是想問:給定一個非負數序列,問是不是一個可圖的序列,即能不能根據這個序列構造一個圖,有2種不合理的情況:(1)某次對剩下序列排序後,最大的度數(設爲d1)超過了剩下的頂點數;(2)對最大度數後面的d1個數各減1後,出現了負數。

貼下代碼:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章