摘要:
dijkstra和Prim很像,区别在于Prim在找到离MST最近的结点后把它加入MST并更新与此结点相邻的结点离MST的最短距离;而dijsktra中,找到当前离起点最近的结点后,更新与它相邻的结点距离起点的最短距离和最短路径。 代码如下: 阅读全文
摘要:
对于一个边带有权值的图,我们可以求它的最小生成树(Minimum Spanning Tree)。通常有两种算法,Prim和Kruskal。 Prim算法的思路是每次找到距离当前生成树最近的一个结点,并将它连到当前的生成树。 代码如下: Kruskal的思路是每次找到剩余的权值最小的边,如果这条边与当 阅读全文
摘要:
floodfill的基本思路就是找到所有连在一起的结点并染成相同的颜色,这样就可以通过颜色区分各个连通分量。具体来说,一开始把所有结点都设成相同的颜色,然后从第一个结点往后遍历,遇到还未被染成其他色的结点,表明这个结点不属于任何已知的连通分量,所以给它一个新颜色,并用bfs/dfs给与其相连的所有结 阅读全文
摘要:
题目来自于记蒜客数据结构课,类型差不多,都是用bfs求最短路(注意是不加权的最短路,加权的情况后面的文章会讲)。 代码如下: 阅读全文