简单的实现了Dijkstra,不考虑效率问题。

注释:V表示图的顶点集合,S表示从源节点到集合中的顶点的最终最短路径已经确定的点的集合

Dijkstra算法的精髓就是

1)初始的时候源节点s到其他所有节点的距离都是无穷大。

2)将源节点加入到集合S,然后又该源节点发射出去所有边中,也就是所有能达到的节点,修改源节点s到这些节点的距离(这个就是算法的核心Relax操作)。

3)找出最短的距离的节点k,将该节点加入到S集合中,并且重复2)操作。直到所有节点被处理过了。

简要的说明一下Relax的作用。

程序中用DIS[u]来表示当前情况下源节点s到u的最短距离。那么对于一条边 u->v 而已,如果DIS[v] > DIS[u] + Weight(u,v), 那么就说明s点到v点最短距离可以更改为从s到u然后在到v。

简单的实现了Dijkstra,相关推荐

  1. 第5-3课:Dijkstra 算法

    Dijkstra 算法是有中文名字的,一般叫做"迪杰斯特拉算法",该算法是求解单源最短路径问题的经典算法,算不上高效,但确实是最简单的算法.Dijkstra 算法并不难,很多算法书 ...

  2. Til the Cows Come Home(最短路-Dijkstra)

    Til the Cows Come Home(最短路-Dijkstra) judge:https://vjudge.net/contest/297882#problem/A Time limit:10 ...

  3. 团体程序设计天梯赛-练习集 -- L3-014. 周游世界(dijkstra)

    题意: 给你一些边,每个边都属于一个确定的公司,告诉你q 个询问,每个询问让你输出两点之间的最短路,并且打印解,连续属于一个公司的线路,只打印收尾. 思路: 这个题赛场上过样例后,只得到了一分.= = ...

  4. 2021年第十二届蓝桥杯 - 省赛 - C/C++大学A组 - D.路径

    2021年第十二届蓝桥杯 - 省赛 - C/C++大学A组 - D.路径 Ideas 算法:最短路径 数据结构:图 思路:根据规则构图,单源最短路径Dijkstra算法. 首先构图其实很简单,就是按照 ...

  5. 2021 年苏州大学计算机考研专业课 872 真题 --- 操作系统部分和数据结构部分

    2021 年苏州大学计算机考研专业课 872 真题 - 全部   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...

  6. 2021 年苏州大学计算机考研专业课 872 真题 --- 数据结构部分

    2021 年苏州大学计算机考研专业课 872 真题 - 数据结构部分 2021 年苏州大学计算机考研专业课 872 真题 - 数据结构部分   大家好,我叫亓官劼(qí guān jié ),在CSD ...

  7. 迪杰斯特拉【dijkstra】算法的两种实现和简单的正确性理解

    先来讲一下迪杰斯特拉算法的正确性,即为什么按照迪杰斯特拉的那套逻辑来就能找到起点到终点的最短距离? 这个其实逻辑的内核其实是和用广搜来求最短路径是一样一样的,举一个形象的例子: 你见过会长矮的树嘛?嘿 ...

  8. 最短路径 自己写的一个很简单的模板 dijkstra算法

    根据图论课本上的一个图自己写的一个最短路径的dijkstra算法 #include<stdio.h> const int m=999999999; int main() {int tu[8 ...

  9. 堆优化版迪杰斯特拉(Dijkstra)算法简单分析

    堆优化版迪杰斯特拉算法: 优化原理: 上面的朴素版迪杰斯特拉算法主要缺陷是,每当找到一个最短路径,如果需要找下一个最短路径,就需要在完成松弛操作之后,遍历dist数组,寻找其中的最小值.遍历dist数 ...

  10. 三牛三虎过河问题--图的最短路径dijkstra算法--简单的Python实现

    问题:三头牛三只虎要过河,船需要一只动物来划,另外至多还能载一物,而只有一头牛和一只虎会划船,并且当虎的数量多于牛的数量时,虎要吃牛,请设计一个安全渡河方案,并使渡河次数尽量少. 我们用一个数组来表示 ...

最新文章

  1. 常见面试题:重写strcpy() 函数原型
  2. swing中怎么在原来图片的基础上切换第二张图片_狂戳痛点!毕业论文图片和公式排版!...
  3. 第十四周项目二-两个成员的类模版(2)
  4. linux树形目录结构存放,Linux目录结构
  5. 微信小程序 encryptedData 的解密(JAVA)
  6. DevExpress 小结
  7. ubuntu上常用的软件安装
  8. 【Coursera公开课】职场素养 笔记
  9. Google地图3D城市模型下载最新实践
  10. HHUOJ 1860 哆啦A梦的口袋
  11. 08-搭建Rest服务 - 04权限管理
  12. zimbra更换服务器域名
  13. 移动硬盘提示数据错误循环冗余检查的文件恢复方案
  14. 新手小白安装linux系统
  15. 树莓派与matlab联动并安装opencv
  16. 30米分辨率的DEM地形数据——STRM高程数据
  17. 个人博客制作——首页部分
  18. k8s: pod has unbound PersistentVolumeClaims问题解决
  19. 快消品行业S2B2C电子商务网站提升供应链效率,加速行业整合
  20. Oracle根据时间查询

热门文章

  1. [原译]实现IEnumerable接口理解yield关键字
  2. 快捷添加请求头的方法
  3. 函数 迭代器,生成器
  4. nginx利用try_files实现多个源
  5. java中关于日期类Calendar的简单使用
  6. It's a beautiful world!
  7. 6.解决AXIOS的跨域问题
  8. Android中Activity的四大启动模式实验简述
  9. 在Linux下开始C语言的学习
  10. K8s-Demo实现