弦圖判斷

定義:
無向圖中,如果任意邊數大於3的環,至少存在一條邊連接環中不相鄰的某兩
個點,則稱此圖爲弦圖(Chordal Graph)。

zoj1015的題目:
判斷無向圖是否爲弦圖,是則輸出Perfect,否則輸出Imperfect。

以下是時間複雜度爲O(n+m)的算法,n是圖的點數,m是圖的邊數。
第一步:給節點編號
設已編號的節點集合爲A,未編號的節點集合爲B
開始時A爲空,B包含所有節點。
for num=n-1 downto 0 do
{
在B中找節點x,使與x相鄰的在A集合中的節點數最多,將x編號爲num,
並從B移入A
}
第二步:檢查
for num=0 to n-1 do
{
對編號爲num的節點x,設所有編號大於num且與x相鄰的節點集合爲C,
在集合C中找出編號最小的節點y,如果集合C中存在不等於y的節點z,
且y與z間沒有邊,則此圖不是弦圖,退出。
}
檢查完了,則此圖是弦圖。 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章