1. 程式人生 > >Prufer序列 筆記

Prufer序列 筆記

子節點 兩個 prufer序列 編碼表 編碼 lin 給定 html -m

Prufer序列


這個很全啊,看這吧。
不寫了。

主要參考洛谷課件。其實是沒時間了懶得找

\(Defination\)

  Prufer序列是一種無根樹的編碼表示。
  對於一棵\(n\)個點的無根樹,對應唯一一串長度為\(n-2\)\(Prufer\)序列。
  

無根樹轉\(Prufer\)序列

  定義無根樹中度數為\(1\)的節點是葉子節點,每次找到編號最小的葉節點刪除,在序列中添加與之相鄰的點。如此重復直到剩下最後兩個節點。
技術分享圖片
  上圖對應無根樹的\(Prufer\)序列為\(3,5,1,3\)

\(Prufer\)序列轉有根樹

  給定點集\(G={1,2,\ldots,n}\)

\(Prufer\)序列\([a_1,a_2,\ldots,a_{n-2}]\)
  每次取出\(Prufer\)序列中的第一個元素\(x_i\),在\(G\)中找在當前\(Prufer\)序列中沒有出現的第一個元素\(y_i\),在\(x_i\)\(y_i\)間連一條邊;將\(x_i\)\(Prufer\)序列中刪除,\(y_i\)\(G\)中刪除。
  最後\(G\)中還剩下\(2\)個元素,在這\(2\)個元素間連一條邊。

題目

  http://www.cnblogs.com/SovietPower/category/1168877.html

Prufer序列 筆記