图论
half-half
渣渣w
展开
-
kruskal&&prim
kruskal和prim都是用来求最小生成树。不同之处在于,前者根据边,后者根据点。所以kruskal算法适合稀疏图,而prim算法适合稠密图。 prim算法的步骤: ①储存图:可以使用邻接矩阵,结构体 ②初始所有的点没有遍历。 ③记录每个点到起点的距离。 ④遍历n-1次选取剩下的点 每次都选取没有经历且到起点最短的点。 同时标记已读,更新该点相连的点到起点的距离。原创 2017-04-14 11:26:19 · 302 阅读 · 0 评论 -
floyd&&dijkstra
floyd&&dijkstra都是用来求单源最短路径的问题。前者的时间复杂度是O(n^3) floyd:动态规划的思想 for k:1-n for i: 1-n for j: 1-n dp[i][j=min(dp[i][j],dp[i][k]+dp[k][j]); dijkstral: 和krusakl神似的算法 不同的地方是 在找到一个边后 更新距离是在原创 2017-04-14 11:40:33 · 163 阅读 · 0 评论