dijkstra算法的理解。迪杰斯特拉算法

本文介绍了Dijkstra算法的步骤,包括初始化和选择dist值最小的节点进行更新。同时讨论了算法的朴素版和堆优化版的选择,建议在点数较多时使用堆优化以提高效率。
摘要由CSDN通过智能技术生成

dijkstra算法的步骤是这样的:

1.初始化:
在这里插入图片描述
2.接下来的步骤:
在这里插入图片描述
并重复:
在这里插入图片描述

  1. 如何确定下一步要将哪一个final置位true?
    选择其对应dist值最小的,将final置位true;

  2. 如何更新将要将要确定的点的dist值?
    由上一个确定了final的点,从这个点上走过来,看看路径长度,更小则将其更新。

简单来说就是这样:

在这里插入图片描述
代码实现:
在这里插入图片描述

dijkstra算法,有朴素版和堆优化两个版本。如何选择?

当点数不多的时候,我们使用朴素版的djstra。
当点数非常多的时候,
比如大于10000,大于10,0000的时候,我们使用堆优化的版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值