最短路径算法

最短路径算法:

最短路径 ,迪杰斯特拉算法,就是基于广度优先的思想的,也是贪婪算法的思想


广度优先搜索(迪杰斯特拉算法):

这个算法实现:

**从起点开始,首先标记起点为已知,这时,我们就好像能看到这个点能通往其他点的路了(这就是边的两个点)

**维护一个记录表,记录下这个点能通往下一个点路径和通向第一个点所需要的权重,并把下一个所有可达点入队

**从队列中取一个点出来,再次标为已知;这是又会产生很多路径,联合已知的点,更新记录表(如果表中没有的路径,添加进去即可;如果表中有,但是新发现的路径更优,则将最优的更新到表中;如果新的路径不比旧的路径更优,则放弃这个数据)

**这种横向的层次遍历全部后,这个记录表就是最优的路径了,只要从中选出你的目的地即可


图出自:http://blog.csdn.net/javyzheng/article/details/12384287


下图演示算法运行(该图还包括是否known的变化,代码中是不需要的)

以v3为开始顶点(无权图)



这个思想,我所知的就是计算机网络中对路由表的维护了,OSPF算法:

https://zh.wikipedia.org/wiki/%E5%BC%80%E6%94%BE%E5%BC%8F%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84%E4%BC%98%E5%85%88


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值