算法导论 24.3 Dijkstra算法

本文介绍了Dijkstra算法,主要用于解决权重非负的有向图的单源最短路径问题。算法采用贪心策略,逐步将权值最小的节点加入已找到最短路径的集合中。文章详细阐述了算法思想、步骤、伪代码,并分析了其时间复杂度。
摘要由CSDN通过智能技术生成

一,Dijkstra算法的思想

        Dijkstra算法解决的是权重非负的有向图的单源最短路径问题,仍然使用的是贪心策略,每次将权值最小的结点加入集合中。

二,Dijkstra算法介绍

        准备阶段:一副赋值有向图,我们定义一个集合S,表示源结点s到集合S中的结点的最短路径已经被找到,再定义一个队列Q=V-S用于存放未找到最短路径的结点。

        算法过程:算法不断的从Q中选择最短路径估计值(u.d)最小的结点u加入集合S中,然后对从u发出的边进行松弛。

三,Dijkstra算法伪代码

DIJKSTRA(G,w,s)

1. INITIALIZE_SINGLE_SOURCE(G,s)

2. S=∅

3. Q=G.V

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值