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\)个元素间连一条边。