图算法
Kismy
I Can Do it !
展开
-
2.最短路径的性质
最短路径的性质1)路径是有向的2)权重不一定是距离,还可能是时间等其他花费代价...3)因为是有向图,所以并不是所有顶点都是可达的(除非该有向图是强连通图)4)边的权重可能是负值5)可能存在平行边(我们选择平行边中权重最小者)6 )最短路径不一定唯一(算法中实现中,当出现两条权重相等的路径,删除其中一条路径的一条边,确保路径唯一)单点最短路径树(SPT)——原创 2017-09-23 17:18:17 · 786 阅读 · 0 评论 -
3.最短路径的顶点和边松弛操作
松弛:原来用一根橡皮筋连接p和w两点,现在有一点v到w的路径更短,现在把橡皮筋w点的另一端p换成v点,这样缓解橡皮筋紧绷的压力,让其变得松弛。1)松弛边: v -> w 意味着先检查从s到w的最短路径是否是先从s 到 v,再由v -> w, 如果是,则更新distTo[w]和EdgeTo[w]的数据。 private void relax(DirectedEdge e)原创 2017-09-23 19:34:00 · 4913 阅读 · 1 评论 -
1.最短路径算法总论
问题1:从一个点到另一个点有向路径的最小成本(成本可以是时间或者距离),应用案例——地图导航软件单点最短路径问题:给定一副加权有向图G和一个起点s,从起点s到终点v是否存在一条有向路径?如果有,找出最短的那一条适用条件1 ) 加权有向图(可以有环,无环加权有向图有更快的算法——拓扑排序,边权重甚至可以为负)2)边的权重非负原创 2017-09-23 16:37:27 · 246 阅读 · 0 评论 -
4.Dijkstra单点最短路径算法 迪杰斯特拉
Dijkstra最短路径树 VS Prim最小生成树具象表现为:1)二者都是通过添加边负的方式构造树2)prim算法每一步添加的是离树最近的非树顶点3)Dijkstra算法每一步添加的是离起点s最近的非树顶点Dijkstra最短路径树解决的问题:加权有向图非负权重情况下,给定起点s和任意顶点v的最短路径问题若想要实现任意两点最短路径,只需要把图中的所有顶点原创 2017-09-23 22:19:31 · 518 阅读 · 0 评论 -
5.五环加权有向图-最短路径问题
特点:1)五环2)比Dijktra更快,能够在线性时间内解决单点最短路径问题3)能够处理负权重的边4)还能够找出最长路径原创 2017-09-23 23:29:36 · 557 阅读 · 1 评论