最短路径,最短路径树和最小生成树

       首先介绍这三个概念,很多人都听过最短路径了,但是最短路径树却很少听过,关于最短路径树的介绍也不太多。而最短路径树和最小生成树更是完全不同的两个概念。

       最短路径就是从一个指定的顶点出发,计算从该顶点出发到其他所有顶点的最短路径。通常用Dijkstra算法,Floyd算法求解。

       最短路径树SPT(Short Path Tree)是网络的源点到所有结点的最短路径构成的树。

       最小生成树是用和最少的边集将一个图连成任意2点可达,并且这个边集的总长度最小。保证整个拓扑图的所有路径之和最小。通常用Prim算法和kruskal算法求解。

       下面是最短路径树和最小生成树的对比图,原图来论文[1]。

原图:


对比图:

                           最短路径树图                                    最小生成树图   

        最短路径树的路径总长度为75,最小生成树的路径总长度为67.


[1]杨晓花,武继刚,史雯隽,赵国栋,稳定的最短路径树及其构造算法[J],计算机工程与科学,2016,38(3):418-424.