摘要: 树的直径 给定一棵树,树的每条边都有一个权值,树中两点之间的距离定义为连接两点的路径上的边权之和。树上最远的两个节点之间的距离被称为树的直径,连接这两点的路径被称为树的最长链。后者通常也可称为直径,即直径既是一个数值概念,也可代指一条路径。 树的直径有两种求法,时间复杂度都是O(n)。 贪心求法: 阅读全文
posted @ 2022-09-01 23:54 Snoww 阅读(195) 评论(0) 推荐(0)
摘要: 瓶颈生成树 定义无向图G,G的瓶颈生成树是一棵 “ 树上最大边权值在G的所有生成树中最小 ” 的生成树,这样的生成树可能不止一棵。瓶颈生成树的值为树上最大边权值。 由瓶颈生成树的定义可知:最小生成树是瓶颈生成树的充分不必要条件,即最小生成树一定是瓶颈生成树,瓶颈生成树不一定是最小生成树。具体证明过程 阅读全文
posted @ 2022-08-21 16:24 Snoww 阅读(281) 评论(0) 推荐(1)
摘要: 最小生成树 给定一张边带权的无向图G=(V,E),n=|V|,m=|E|。由 V中全部n个顶点和E中n-1条边构成的无向连通子图被称为G的一棵生成树。边的权值之和最小的生成树被称为无向图G的最小生成树。 定理:任意一棵最小生成树一定包含无向图中权值最小的边。 证明:反证法。假设无向图中存在一棵最小生 阅读全文
posted @ 2022-08-21 15:25 Snoww 阅读(96) 评论(0) 推荐(1)
摘要: 全源最短路 给定一个有向图或无向图,求任意两点之间的最短路径。 Floyd算法 1.算法思想:Floyd算法的本质是动态规划,所以只要找到动态转移方程,就可以按照转移方程很简单地写出代码。 从任意节点i到任意节点j的最短路经有两种可能: (1)从节点i直接到节点j; (2)从节点i经过若干个节点k到 阅读全文
posted @ 2022-08-20 22:02 Snoww 阅读(350) 评论(0) 推荐(1)
摘要: 单源最短路径 单源最短路径问题:给定一张有向图 G=(V,E),V是点集,E是边集,|V|=n,|E|=m,节点以[1,n]之间的连续整数编号,(u,v,w) 描述一条从u出发,到达v,长度为w的有向边。设s号节点为起点,求长度为n的数组d,其中d[i]表示从起点s到节点i的最短路径的长度。 Dij 阅读全文
posted @ 2022-08-12 12:59 Snoww 阅读(89) 评论(2) 推荐(1)