树的Prufer 编码和最小生成树计数
生活随笔
收集整理的這篇文章主要介紹了
树的Prufer 编码和最小生成树计数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Prufer數列 Prufer數列是無根樹的一種數列。在組合數學中,Prufer數列由有一個對于頂點標過號的樹轉化來的數列,點數為n的樹轉化來的Prufer數列長度為n-2。它可以通過簡單的迭代方法計算出來。它由Heinz Prufer于1918年在證明cayley定理時首次提出。 將樹轉化成Prufer數列的方法
一種生成Prufer序列的方法是迭代刪點,直到原圖僅剩兩個點。對于一棵頂點已經經過編號的樹T,頂點的編號為{1,2,...,n},在第i步時,移去所有葉子節點(度為1的頂點)中標號最小的頂點和相連的邊,并把與它相鄰的點的編號加入Prufer序列中,重復以上步驟直到原圖僅剩2個頂點。 例子 Prufer數列 以上邊的樹為例子,首先在所有葉子節點中編號最小的點是2,和它相鄰的點的編號是3,將3加入序列并刪除編號為2的點。接下來刪除的點是4,5被加入序列,然后刪除5,1被加入序列,1被刪除,3被加入序列,此時原圖僅剩兩個點(即3和6),Prufer序列構建完成,為{3,5,1,3} 2將Prufer數列轉化成樹的方法
設{a1,a2,..an-2}為一棵有n個節點的樹的Prufer序列,另建一個集合G含有元素{1..n},找出集合中最小的未在Prufer序列中出現過的數,將該點與Prufer序列中首項連一條邊,并將該點和Prufer序列首項刪除,重復操作n-2次,將集合中剩余的兩個點之間連邊即可。 例子 仍為上面的樹,Prufer序列為{3,5,1,3},開始時G={1,2,3,4,5,6},未出現的編號最小的點是2,將2和3連邊,并刪去Prufer序列首項和G中的2。接下來連的邊為{4,5},{1,5},{1,3},此時集合G中僅剩3和6,在3和6之間連邊,原樹恢復。
目錄
1將樹轉化成Prufer數列的方法
2將Prufer數列轉化成樹的方法
將樹轉化成Prufer數列的方法
一種生成Prufer序列的方法是迭代刪點,直到原圖僅剩兩個點。對于一棵頂點已經經過編號的樹T,頂點的編號為{1,2,...,n},在第i步時,移去所有葉子節點(度為1的頂點)中標號最小的頂點和相連的邊,并把與它相鄰的點的編號加入Prufer序列中,重復以上步驟直到原圖僅剩2個頂點。 例子 Prufer數列 以上邊的樹為例子,首先在所有葉子節點中編號最小的點是2,和它相鄰的點的編號是3,將3加入序列并刪除編號為2的點。接下來刪除的點是4,5被加入序列,然后刪除5,1被加入序列,1被刪除,3被加入序列,此時原圖僅剩兩個點(即3和6),Prufer序列構建完成,為{3,5,1,3} 2將Prufer數列轉化成樹的方法
設{a1,a2,..an-2}為一棵有n個節點的樹的Prufer序列,另建一個集合G含有元素{1..n},找出集合中最小的未在Prufer序列中出現過的數,將該點與Prufer序列中首項連一條邊,并將該點和Prufer序列首項刪除,重復操作n-2次,將集合中剩余的兩個點之間連邊即可。 例子 仍為上面的樹,Prufer序列為{3,5,1,3},開始時G={1,2,3,4,5,6},未出現的編號最小的點是2,將2和3連邊,并刪去Prufer序列首項和G中的2。接下來連的邊為{4,5},{1,5},{1,3},此時集合G中僅剩3和6,在3和6之間連邊,原樹恢復。 ?
?
?
1. 一棵標號樹的Pufer編碼規則如下:找到標號最小的葉子節點,輸出與它相鄰的節點到prufer 序列, 將該葉子節點刪去,反復操作,直至剩余2個節點。
?
2. 由Pufer編碼生成樹:任何一個prufer 序列可以唯一對應到一棵有標號的樹,首先標記所有節點為未刪除 依次掃描prufer 序列中的數,比如當前掃描到第k個數u,說明有一個葉子節點連到u,并在當前操作中被刪除,找一個標號最小的未被標記為刪除的且在prufer 序列第k個位置后未出現過的節點v,在u,v間連邊并將v刪除,反復操作,最后剩兩個節點未被標記為刪除,在它們之間連邊,這樣得到的一個圖含有n-1條邊則是一棵樹
3. 一棵樹N個結點,其Profer序列有N-2個位置,因此可以在這N-2個位置里面任何的填充1~N之間的數形成一個prufer序列,且一個prufer序列唯一的對應一顆生成樹,于是完全圖的最小生成樹的數目為N^(N-2)
?
推薦做題:pku2567,pku2568
?
轉載于:https://www.cnblogs.com/jeff-wgc/p/4472528.html
總結
以上是生活随笔為你收集整理的树的Prufer 编码和最小生成树计数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络之网络层:5、DHCP协议、I
- 下一篇: eclipse设置和启动优化(转)