算法基础--图的搜索

图的搜索

目录

图的搜索

图的定义

加权图

有向图

广度优先搜索

深度优先搜索

贝尔曼-福特算法

狄克斯特拉算法

A*算法


​​​​​​​

图的定义

        图:由顶点和连接每队顶点的边所构成的图形

加权图

        给边上加值,没有权的边只能表示两个顶点的连接状态,有权的边可以表示顶点之间的“连接程度”

有向图

        给边加上箭头表示方向,有向图也可加上权重

广度优先搜索

        广度优先搜索优先从离起点近的顶点开始,由近及远对图进行搜索

 (也可以搜索闭环图,和以上步骤一样)

深度优先搜索

        与广度优先搜索一样,从起点对图进行搜索。深度搜索沿着一条路径不断往下搜索直到不能再继续为止,然后再折返,开始搜索下一条路径。

贝尔曼-福特算法

        贝尔曼-福特在图中求解最短路径问题,最短路径问题是在加权图指定了起点和终点的前提下,寻找从起点到终点的路径中权重总和最小的那条路径

        计算边a—边b的权重:顶点原本的权重+边的权重

         若一个闭环中权重总和是负数,不断遍历这个环,路径权重不断减小,认定不存在最短路径

狄克斯特拉算法

        同为求解最短路径问题,比起需要对所有边都重复计算权重和更新权重的贝尔曼-福特算法,狄克斯特拉算法多了一步选择顶点的操作,使得它在求最短路径上更为高效

         当图中含有负数权重,狄克斯特拉算法可能无法得出正确答案,故有负数权重时不能使用狄克斯特拉算法

        总结:不存在负数权重,使用效率更高的狄克斯特拉算法,存在负数权重,使用贝尔曼-福特算法

A*算法

        同为求解最短路径,由狄克斯特拉算法演变而来,优点是会与先预估一个值,省去计算离终点较远的路径        

         当信息可以估算时,能使用A*算法,当信息不能估算时,不能使用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值