并查集 最小生成树 dag拓扑排序 最短路径

并查集 每一个节点都有它的父亲节点
然后呢根节点的父亲节点是他自己
具有三个操作
初始化
查找
合并还有什么
种类并查集之类的
最小生成树,有两种生成算法,其中有一种要用到并查集,都是贪心思维
然后次小生成树,就是加入一条剩下的最短的边,再从环里删去与这条边不同的最长边。
拓扑排序就是每个节点有一个出度,每次都加入一个出度为零的点,再更新相邻点的出度。
最短路径 我只学了迪克斯特拉,大致意思是,假设a到i的最短路径经过x1,x2那么这条路径上x1,x2的距离也是这两点的最短路径。所以从初始点开始,更新距离,再找距离最小的点,确定这个点的距离,再更新他旁边的点的距离,再找距离最小的点(没找过的)直到找完。
然后可以堆优化,就是用优先队列把每个更新过的点都放进去,这样查找全场距离最小的点就是nlogn
然后次短距离和次小生成树方法应该差不多,反正我不会。
然后图的存储有邻接矩阵和邻接表两种
我建议自己使用邻接表中的链式前向星,虽然数组会很多,关系会很乱,但是多用就记得了。
ok这三天学习总结到这里了

猜你喜欢

转载自blog.csdn.net/qq_43328498/article/details/86664520