迪杰斯特拉算法
什么是迪杰斯特拉算法
关于迪杰斯特拉算法,b站有个视频,讲解的很好
迪杰斯特拉算法
该视频的前5分钟讲解的是迪杰斯特拉算法
迪杰斯特拉算法的缺陷
如何修复缺陷
什么是负权回路
在一个图里面每条边都有一个权值(有正有负)
如果存在一个环(从某点出发又回到自己的路径),而且这个环上所有权值之和为负数,那么这就是一个负权环,也叫做负权回路。
存在负权回路的图是不能够求两点间的最短路的,因为只要在负回路上不断兜圈子,所得的最短路长度可以任意的小。
matlab求最短的路径
[P,d]=shortestpath(G,start,end,['Method',algorithm])
可选的算法
返回任意两点的距离矩阵
d=distance(G,['Method',algorithm])
找给定范围内所有的点
[nodeIDs,dist]=nearest(G,s,d,['Method',algorithm])
返回图形G中于节点s的距离在d之内的所有节点。
nodelID是符合条件的节点
Dist是这些节点于s的距离