文件名称:层次分析matlab代码-Dijkstar:Dijkstar求最短路
文件大小:638KB
文件格式:ZIP
更新时间:2024-06-12 09:29:07
系统开源
层次分析
matlab代码
Dijkstar
Dijkstar求最短路
问题提出
从某顶点出发,沿图的边到达另一个顶点所经过的路径中,各边上权值之和最小的一条路径————最短路径。
Dijkstra算法
该算法于1959年提出,目前被认为是求非负权网络最短路问题的最好方法。算法的节本思想基于以下原理:
若序列{V(s),V(1),...,V(n-1),V(n)}是从V(s)到V(n)的最短路,则序列{V(s),V(1),...,V(n-1)}必为V(s)到V(n-1)的最短路。
先把节点集合V分成两组:
S:已求出最短路径的顶点的集合
V-S
=
T:尚未确定最短路径的顶点集合
将T中顶点按最短路径递增的次序加入到S中,依据:可以证明V0到T中顶点Vk的最短路径,或是从V0到Vk的直接路径的权值或是从V0经S中顶点到Vk的路径权值之和
求解算法
(1)节点初始化。初始时令S={V0},T={其余顶点}。若存在{V0,Vi},T中顶点对应的距离值
为{V0,Vi}弧上的权值;若不存在
【文件预览】:
Dijkstar-master
----main.py(5KB)
----SFNG.m(1KB)
----image()
--------1.png(34KB)
--------2.png(28KB)
--------4.png(32KB)
--------3.png(36KB)
----question.png(96KB)
----loop1D.m(229B)
----BSmodel2.m(4KB)
----answer.png(429KB)
----README.md(2KB)
----findminpath.m(1KB)