PruferCode相关
来源:互联网 发布:java详细设计文档模板 编辑:程序博客网 时间:2024/05/22 05:18
树的Prufer 编码和最小生成树计数 (摘自:冰上极光的专栏)
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)
-------------------------------------------------------------------------------------------------------------------
Prufer Code(摘自JokerPark)
这两天看了Prufer编码。意思就是把一棵n个节点并且带编号的无向树与一个n-2长度的数组建立双射。规则如下:
-------------------------------------------------------------------------------------------------------------------
- PruferCode相关
- 相关
- 相关
- 相关
- 相关
- 相关
- 相关
- 相关
- 【工作相关】相关博客地址
- stroyboard相关 AppDelegate相关
- https相关、http相关
- hadoop相关 mapreduce 相关
- idea相关 配置文件相关
- JBoss相关
- 相关概念
- 单元测试相关
- 相关网站
- Oracle相关
- Windows下用Eclipse搭建C/C++开发环境
- 排序算法 - 堆排序 (C++)
- Android屏幕密度(Density)和分辨率的关系
- VMware下安装ArchLinux
- Axis2 Web服务配置文件services.xml详解
- PruferCode相关
- The Difference Between jQuery’s .bind(), .live(), and .delegate()
- Xstream使用总结
- 数据结构之十进制转二进制(C语言)
- 程序员真的是吃青春饭的吗?(献给即将进入职场的程序员们)--------非原著
- Hibernate配置文件中配置各种数据库的driver、URL
- C#网络爬虫
- 模板
- Arrays 类