(Acwing算法基础课)——图论之朴素迪杰斯特拉算法

图论之朴素迪杰斯特拉

1.原题地址

之前自己蓝桥杯拿到省二第一名,非常遗憾没有进入决赛的原因就是图论的两个题目一个都不会写,因为自己但是做完了往前十年的题目,省赛都是没有考过图论的,所以我当时打算的就是进入决赛之后再学习图论,没想今年蓝桥杯的题目风格大变,让我措手不及,也酿成了我大三最大的遗憾,所以我打算再准备一年,反正保研了大四会轻松些,我一定要拿到国奖!
附上Acwing上的该题链接:
Acwing849朴素迪杰斯特拉Ⅰ

2.数据结构和算法思路

适用于稠密图,用邻接矩阵

双重循环O(n^2)

数据结构:

  • 二维数组map,该算法用于稠密图,用二维数组存储
  • s[t],存储当前这个点有没有加入到已经找到最短路的集合中
  • d[n],存储各个点到1号点的距离

算法:

  • 初始化:到一号点(自己)的距离为0,到其余点的距离为负无穷
  • 外层for循环,遍历每一个点
  • 内层for循环,遍历找到没有在(已找到最短距离的)集合中的距离最短的点,并将其加入集合
  • 用刚刚加入集合的点更新其他点到1号点的距离

3.AC代码

#i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值