图论
文章平均质量分 84
TheSoundOfWA
如果快乐是一种发明,它很容易被一再发明 || 让我们一起努力学习吧
展开
-
Bellman-Ford
其主要思想:对所有的边进行n-1轮松弛操作,因为在一个含有n个顶点的图中,任意两点之间的最短路径最多包含n-1边。换句话说,第1轮在对所有的边进行松弛后,得到的是源点最多经过一条边到达其他顶点的最短距离;但是SPF的算法复杂度没有传说中的那么稳定,随着数据的不同可能降为传统 Bellman-Ford的复杂度,而后者的实现难度远低于前者。其中, n为顶点的个数,m为边的个数,edges数组储存了所有边,distance数组是源点到所有点的距离估计值,循环结束后就是最小值。那么我们怎么去判断有没有负权回路呢?原创 2023-05-28 08:31:31 · 88 阅读 · 0 评论 -
Floyd
Floyd 算法是 所有点到所有点 的最短路径的算法,阅读前请想了解图的数据结构「邻接矩阵」Floyd 算法是一个基于「贪心」、「动态规划」求一个图中最短路径的算法,时间复杂度On3。原创 2023-05-28 08:18:41 · 53 阅读 · 0 评论 -
Dijkstra
Dijkstra 算法是求一个图中一个点到其他所有点的最短路径的算法,阅读前请想了解图的数据结构「邻接矩阵」Dijkstra 算法是一个基于「贪心」、「广度优先搜索」、「动态规划」求一个图中一个点到其他所有点的最短路径的算法,时间复杂度On2。原创 2023-05-28 07:56:54 · 38 阅读 · 1 评论 -
邻接矩阵+邻接表
顶点 + 边(边可以没有但是至少有一个顶点)图Graph是顶点vertex集合和边(也称之为)集合组成。原创 2023-05-28 07:43:58 · 424 阅读 · 0 评论