摘要:
堆优化的迪杰斯特拉 迪杰斯特拉算法 核心代码 优化之处 优化点B :很容易想到,不必扫描1~n,只需遍历由pos顶点可以到达的顶点即可,可以使用vector存储图,或者使用链式前向星 优化点A :事实上,每次找出一个距离源点最短的顶点,需要扫描1~n吗?一个很朴素的想法是如果把这些点存起来然后按照距 阅读全文
摘要:
SPFA算法 解决问题 单源点最短路径 可处理负权边 判断负环 Bellman Ford算法 SPFA算法是Bellman Ford的优化版本 Bellman Ford算法流程 初始化:将除源点外的所有顶点的最短距离估计值 d[v] ←+∞, d[s] ←0; 迭代求解:反复对边集E中的每条边进行松 阅读全文
摘要:
弗洛伊德算法 基本思想 先限制从u到v的路径只能经过1号结点或不经过1号结点 再放宽限制,u到v的路径可以从2号结点或不经过2号结点 以此类推,从u到v的路径可以经过任意中继结点或者不经过任意中继节点 特性 可以处理负边 源码 HDU 1874 c++ include include include 阅读全文
摘要:
Dijkstra算法 解决问题 单源最短路径,图G=(V,E,W) 基本思想 记源点为s,除s外任意顶点i到s的距离记为dis[i] 维护一个集合S,集合S中的所有顶点到源点s的最短距离已经求出,初始S={s} 每次向S集合中添加一个顶点pos,这个顶点pos是S集合外的,并且它是目前看来离源点s最 阅读全文