最短路径和最小生成树分别对应什么算法,两者区别是什么?最小生成树就是求的最短路径?

1个回答

  • 最短路径和最小生成树是不同的概念.

    最短路径是对于一个图的两个结点而言的.在一个图中,结点A通过某些结点和边可以走到结点B,那这些结点和边就组成一条A到B的路径,A到B的最短路径就是A到B的所有路径中边权值总和最小的那一条(或多条).

    最小生成树是对于一个图本身而言的.对于一个有n个结点的无向连通图(边没有方向,任意两点之间都存在路径可以到达),必然可以去掉某些边,使得最终剩下n-1条边,并且n个结点仍然是连通的,这n个结点和n-1条边组成了原图的一个生成树,而最小生成树就是所有可能的生成树中n-1条边的权值总和最小的那一个(或多个).

    最短路径常用算法有:floyd,dijkstra,SPFA,A*等

    最小生成树常用算法有:prim,kruskal