prufer序学习笔记
知识总结
一种用于生成树计数的与树一一对应的数列。
一个长度为
树变序列
- 找到编号最小的叶子
- 设与叶子
相连的点是 ,则删掉 ,并在 prufer 序列尾部加入一个数 - 重复
操作,直到整棵树只剩下两个节点,此时 prufer 序列长度为
不难发现,剩的两个节点里一定会有一个是n,根据这个性质可以考虑以
序列变为树
- 把 prufer 序列里的数加入队列中,设队首为
。 - 维护一个还没有连边的点集
(初始状况下是 ) ,找到点集中编号最小的,并且是没有在队列之中出现的元素 。 - 给
连上一条边,并且 中删掉 , 在队列之中弹出 。 - 最后点集只剩
个点,互相连边。
prufer 序列转原树的过程就是每次跳出最小的一个叶子节点并且将其对应的度删除的过程,显然一一对应。
序列的一些性质
- 每个点出现次数
度数减一 (显然) - Cayley定理:n个点的无向完全图的生成树的计数为
即 个点有标号无根数计数 个点,每个点度数为 的无根树个数为 。
分类:
算法学习记录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】