最小生成树:
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。 最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。
最短路:
最短路问题(short-path problem)是网络理论解决的典型问题之一,可用来解决管路铺设、线路安装、厂区布局和设备更新等实际问题。基本内容是:若网络中的每条边都有一个数值(长度、成本、时间等),则找出两节点(通常是源节点和阱节点)之间总权和最小的路径就是最短路问题。
从定义上看:
- 最小生成树能够保证整个拓扑图的所有路径之和最小,但不能保证任意两点之间是最短路径。保证的是全局的一个最优。
- 最短路径是从一点出发,到达目的地的路径最小。从起始点开始到目的地点,这一段路的路径是最小的。
总结:
- 遇到求所有路径之和最小的问题用最小生成树解决,保证一个拓扑图的最优;
- 遇到求两点间最短路径问题的用最短路,即从一个城市到另一个城市最短的路径问题,从起始点到目的点。
区别:
最小生成树构成后所有的点都被连通,n个点,n-1条边,而最短路只要从起始点到达目的地走的是最短的路径即可,与所有的点连不连通没有关系。