【OI杂记】求二叉树上任意两点的最短路径上的边权最大值
来源:互联网 发布:合金装备5连接网络 编辑:程序博客网 时间:2024/06/07 09:11
给出一棵树,每条边有一边权。
对于任意给定的两点,求,此两点的最短路径上,边权的最大值。
对于下图:
蓝圈中任意一点与红圈中任意一点的路径上的最大边必定是8。
根据这个现象,可以把上述的树重建成如下图所示。
新图的叶子结点为原图的所有结点,内部结点为原图的边权,建边顺序又下小到大。
如图所示:
新图的红色编号为原图的结点编号,蓝色编号为原图的边。
这样,问题就转换为求新图中,任意两个叶子节点的最小公共祖先问题了。
分析时间复杂度:
对于一棵树,n个结点,m条边,n=m+1。
1、
2、
3、
所以,总的时间复杂度O(nlgn)。
转自(http://blog.sina.com.cn/s/blog_51cea4040100ss3n.html)
- 【OI杂记】求二叉树上任意两点的最短路径上的边权最大值
- 求任意两点间的最短路径
- 使用pgrouting求任意两点的最短路径
- floyd算法(求任意两点间的最短路径)
- 任意两点间的最短路径
- 基于pgrouting求任意两点的最短路径的函数pgr_fromAtoB
- 求任意大小矩阵两点之间的最短路径(回溯)
- 任意两点间的最短路径---floyd_warshall算法
- Floyd算法(任意两点间的最短路径)
- POJ 2139-- 最短路径 (floyd算法,任意两点间的最短路径)
- Floyed算法求两点之间的最短路径
- ACM-Floyed算法求两点之间的最短路径
- dijkstra算法--求两点之的最短路径
- 16. 求两点之间的最短路径
- Matalab代码 实现 Dijkstra求 有向图及无向图之间,任意两点之间的最短路径
- 求任意两个顶点间的最短路径
- 求任意两个点之间的最短路径
- Dijkstra单源最短路径实现 及 Floyd任意两点之间的最短路径
- 关于函数strtok和strtok_r的使用要点和实现原理
- OSGi的EventAdmin
- UNIX文件结构(转自UNIX/AIX操作系统基础教程)
- http中的gzip
- UVa 10125 - Sumsets
- 【OI杂记】求二叉树上任意两点的最短路径上的边权最大值
- Fedora 17 下运行Kettle遇到"A fatal error has been detected by the Java Runtime Environment"
- platform_device与platform_driver
- 链栈
- eclipse 使用点滴
- Android Fragments 详细使用
- x-window相关的使用
- Bluetooth(蓝牙)
- 基于TMS320DM365设计简介(一)