算法总结(kruskal,prime,Floyd,Dijkstra)思想汇总
当涉及到这些经典算法时,每个算法都有其独特的思想:
Kruskal算法:
思想: 贪心算法。从边的权重最小的开始,逐步选择权重递增的边,但保持不形成环路,直到所有顶点都连接在一起。
关键点: 边的排序和并查集的使用。
Prim算法:
思想: 同样是贪心算法。从一个初始顶点开始,逐步选择连接到当前生成树的最短边,直到所有顶点都在生成树中。
关键点: 顶点的选择和边的更新。
Floyd算法:
思想: 动态规划。通过逐个考虑所有中间顶点,更新最短路径的信息,直到找到所有顶点间的最短路径。
关键点: 三重循环,更新最短路径矩阵。
Dijkstra算法:
思想: 贪心算法。从起始顶点开始,维护一个到各顶点的最短距离集合,逐步更新并选择最短路径。
关键点: 优先队列或最小堆的使用,