求单源最短路径用得最多的算法应该就是Dijstra算法了,但是该算法有一个缺点就是不能处理负权,如果遇到负权大家可以参考后面介绍的BellMan Ford算法进行处理。

下面介绍下Dijstra算法的主要步骤:

1. 初始化集合U,该集合表示已经入选最小的节点集合

2. 初始化D,该数组表示源点s到该点的最小距离,没有直接相连则视为无穷大

3. 选出距离源点最小距离的点w

4. 对直接与w点相连的点进行处理,D[v] ← min(D[v], D[w] + A[w][v]):即对与w点直接相连的点,如果存在一条更短路劲达到该点,则刷新该点的D值。

Dijkstra(s, A, D) U = {s};for each vertex vD[v] ← A[s][v]while U ≠ VSelect vertex w ∈ V-U with minimum D[w]U ← U ∪ {w}for each vertex v adjacent to wD[v] ← min(D[v], D[w] + A[w][v])

转载于:https://www.cnblogs.com/xfei-zhang/p/5086882.html

图---Dijstra相关推荐

  1. 数据结构课设—图型结构题目—行车路线

    题目: 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好走,如果连续走小道,小明的疲劳值会快速增加,连续走s公里 ...

  2. java迪杰斯特拉算法实例,Java 图的最短路径dijstra(迪杰斯特拉)算法和拓扑排序

    一.图的最短路径从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径叫做最短路径 图的最短路径有许多重要的应用. 例如:上图中v0-v8有9个点,可以看做不同的地点,现在要规 ...

  3. hdu 4725 The Shortest Path in Nya Graph(建图+优先队列dijstra)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4725 题意:有n个点和n层,m条边,每一层的任意一个点都可以花费固定的值到下一层或者上一层的任意点 然 ...

  4. 洛谷P1807 最长路_NOI导刊2010提高(07) 求有向无环图的 最长路 图论

    洛谷P1807 最长路_NOI导刊2010提高(07) 图论 求有向无环图的 最长路 首先阐明一点 最长路dijkstra 是不能做 (当然我是不会做的,不过我貌似看到过网上的dalao有用dijst ...

  5. 天勤——图选择题整理

    目录 1,什么是相邻和序偶? 2,组合数是什么?在无向图中的应用? 3,连通n个节点有向图,最少需要n个结点? 4,完全图是什么? 5,连通分量与连通子图? 1,连通是什么? 2,讨论范围 3,连通分 ...

  6. 数据结构1800关于图的代码精选(三)

    考研数据结构 图的代码汇总(三) 一.图的D_搜索类似于BFS,不同之处在于使用栈代替BFS中队列操作,写出搜索算法 void D_fs(ALGraph g,int v){int Stack[Max] ...

  7. Loj#6223 Luogu P4009 汽车加油行驶 分层图最短路

    这是本蒟蒻博客的第一篇文章,不规范之处敬请各位大佬指正和谅解orz Loj#6223+Luogu P4009 文章目录 前言 一.建模 二.代码实现 1.节点在图中的编号(分层图的存储) 2.建边 对 ...

  8. 《数据结构》实验报告六:图的表示与遍历

    一.实验目的 1.掌握图的邻接矩阵和邻接表表示 2.掌握图的深度优先和广度优先搜索方法 3.理解图的应用方法 二.实验预习  说明以下概念 1.深度优先搜索遍历: 一种图的遍历方式:从图中任意一个起始 ...

  9. PTA 旅游规划(25 分)(图论, dijstra 变形)

    7-9 旅游规划(25 分) 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路 ...

最新文章

  1. HDU-1452 因子和 积性函数性质
  2. Red Hat linux 9 初装配置
  3. 基于场效应管2N3819制作非接触电压检测 - 购买到假货了
  4. 展开收起功能实现_Windows10自带的7大隐藏功能,个个都实用!
  5. scala方法定义示例
  6. [BUUCTF-pwn]——gyctf_2020_borrowstack
  7. 【Linux】/etc/sysconfig/i18n文件详解
  8. 动态链接(指向运行时常量池的方法引用)
  9. [Python]小甲鱼Python视频第026课(字典:当索引不好用时2)课后题及参考解答
  10. 前端悬浮窗效果_Flutter自绘组件:微信悬浮窗(一)
  11. Shell基本命令汇总
  12. You must depend on an EXACT version of electron-prebuilt-compile not a range (got ^4.0.0)
  13. 2022-2028全球气动测试探针行业调研及趋势分析报告
  14. java 车牌识别系统_java车牌识别系统 自动识别车牌系统的工作原理
  15. Failed to start LSB: Kurento Media Server daemon. kurento-media-server 启动失败的解决办法
  16. android 9.0 app应用安装白名单
  17. vue创建的挂钩中出错_建立自己的Vue 3 SWR挂钩
  18. 批量将多张图片的宽度和高度同时缩小一半,也可以按固定比例缩小
  19. C++函数模板和模板函数、类模板和模板类
  20. 多项式拟合 java_最小二乘法多项式拟合的Java实现

热门文章

  1. 如何使用ZBrush和3DMAX雕刻一个百夫长?
  2. 给PUBG Mobile打上几十个数据标签解析霸榜原因
  3. 安卓微信8.0.11正式版发布:体积突破200MB
  4. 2022年3月14日蓝桥杯基础算法能力测试
  5. 第六届蓝桥杯决赛JavaC组真题——详细答案对照(完整版)
  6. 零基础学Python(第十一章 字符串处理)
  7. 数据仓库中捕获变化数据(CDC,Changed Data Capture)的四种手法
  8. alter system flush shared_pool的作用 .
  9. redis api-list
  10. 4G通信模块在ARM平台下的应用