最短路径算法

优先级搜索

图搜索算法总体来说都需通过迭代逐一发现各顶点,给所有顶点赋予不同优先级,每一步迭代选取当时优先级最高者。


支撑树

连通图的某一无环连通子图若覆盖所有顶点,则称作一棵支撑树或生成树。

支撑树既是“禁止环路”前提下的极大子图,也是“保持连通”前提下的最小子图。

最小支撑树(MST):成本(各边权重之和)最低。

对于权重为0或负数的情况,可调整后求出MST。

Prim算法


Dijkstra算法

最短路径树(SPT):到某个顶点的路径最短

  • 单调:最短路径的任一前缀也是最短路径
  • 歧义
    • 不唯一
    • 存在非正路径时,无从定义最短路径
  • 无环
  • 与MST不同

Dijkstra算法用来计算单源最短路。

  1. 源顶点集只有一个源点
  2. 找出到源顶点集最近的顶点,加入源顶点集
  3. 更新各点到源顶点集的距离(若新距离小,则改为新距离,并不记住具体路径)
  4. 重复2,3
  5. 直到所有点都进入源顶点集,结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值