从有向带权图判断最短路径里各目标顶点顺序

对如下有向带权图,若采用迪杰斯特拉(Dijkstra)算法求从源点a到其他各顶点的最短路径,则得到的第一路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是()

A.d,e,f

B.e,d,f

C.f,d,e

D.f,e,d

首先,先看除了a还有5个顶点,那么就是要走5趟。

在下面表格列出b、c、d、e、f 以及一两三四五趟,最后一行写集合。

顶点一趟两趟三趟四趟五趟
b
c
d
e
f
集合


  1. 在一开始我自己定义:
    1. 顶点a至b算一趟,顶点a至c也算一趟
    2. 以此类推,例如后面讲述的顶点a至b至c算两趟
  2. 然后再看,从a出发,首先接触的是b、c,那么分别写下到b和c的距离。
  3. 其他顶点对a来说一趟接触不到,那么我们就写无穷,即∞。
  4. 其中,(a,b)最短,距离为2,那么得出结论:集合就是{a,b}
  5. 由于顶点c这次没被引用,于是将(a,c)5先搁置至二趟(但每一次搁置到后面一趟需检验a至c是不是最短的,还有没有从a至c更加短的距离,详情看后面几轮)
顶点一趟两趟三趟四趟五趟
b(a,b)2
c(a,c)5(a,c)5
d
e
f
集合{a,b}

  1. 然后再看,从a至b出发,能走两趟的就只有(a,b,c)和(a,b,d),此时(a,b,c)距离为3,(a,b,d)距离为5。
  2. 上一趟的(a,c)搁置到二趟需检验a至c是不是最短的,还有没有从a至c更加短的路线,哦有,就是我们刚才写的(a,b,c),(a,c)距离为5,(a,b,c)距离才3,那么就用(a,b,c)代替(a,c)。
  3. 此时(a,b,c)距离为3,(a,b,d)距离为5
  4. 那么最短的就是(a,b,c)
  5. 那么集合就是{a,b,c}
顶点一趟两趟三趟四趟五趟
b(a,b)2
c(a,c)5(a,c)5/(a,b,c)3
d(a,b,d)5
e
f
集合{a,b}{a,b,c}

 

  1. 然后再看,此时b和c都被引用了,就剩d、e、f,即从a至b至c出发,能走三趟的,能接触到的就是d、e、f
  2. 此时三趟为(a,b,c,d)距离为6,(a,b,c,e)距离为7,(a,b,c,f)距离为4。
  3. (a,b,d)因为上一趟距离长没有选上,虽不是最短,但可以先搁置到这一趟继续写,但搁置到这一趟需检验a至d是不是最短的,还有没有从a至d更加短的路线,哦没有,还是(a,b,d),(a,b,c,d)距离为6,(a,b,d)距离才5,那么就保留(a,b,d)。
  4. 此时三趟为(a,b,d)距离为5,(a,b,c,e)距离为7,(a,b,c,f)距离为4,(a,b,c,f)最短,选(a,b,c,f)。
  5. 故集合为{a,b,c,f}
顶点一趟两趟三趟四趟五趟
b(a,b)2
c(a,c)5(a,c)5/(a,b,c)3
d(a,b,d)5(a,b,d)5/(a,b,c,d)6
e(a,b,c,e)7
f(a,b,c,f)4
集合{a,b}{a,b,c}{a,b,c,f}

  

  1. 然后再看,从a至b至c至f出发,能走四趟的,能接触到的就是d、e
  2. (a,b,d)是从二趟开始搁置到这一趟,因为已经检验过了所以不用检验,而(a,b,c,e)是从三趟才开始搁置的,还没检验过,检验一下,(a,b,c,e)距离为7,(a,b,d,e)距离为6,(a,c,e)距离为9,(a,b,c,d,e)距离为7,故(a,b,d,e)最短,用(a,b,d,e)替代这几个
  3. 然而虽然(a,b,d,e)距离为6,(a,b,d)5距离为5而已,故还是选(a,b,d)。
  4. 故集合为{a,b,c,f,d}
顶点一趟两趟三趟四趟五趟
b(a,b)2
c(a,c)5(a,c)5/(a,b,c)3
d(a,b,d)5(a,b,d)5/(a,b,c,d)6(a,b,d)5
e(a,b,c,e)7(a,b,c,e)7/(a,b,d,e)6/(a,c,e)9/(a,b,c,d,e)7
f(a,b,c,f)4
集合{a,b}{a,b,c}{a,b,c,f}{a,b,c,f,d}


 

  1. 然后再看,此时就剩e,即从a至b至c至f至d出发,能走五趟的,能接触到的就只有e了
  2. (a,b,d,e)是从四趟开始搁置到这一趟,因为已经检验过了所以不用检验。
  3. 故集合为{a,b,c,f,d,e}
顶点一趟两趟三趟四趟五趟
b(a,b)2
c(a,c)5(a,c)5/(a,b,c)3
d(a,b,d)5(a,b,d)5/(a,b,c,d)6(a,b,d)5
e(a,b,c,e)7(a,b,c,e)7/(a,b,d,e)6/(a,c,e)9/(a,b,c,d,e)7(a,b,d,e)6
f(a,b,c,f)4
集合{a,b}{a,b,c}{a,b,c,f}{a,b,c,f,d}{a,b,c,f,d,e}

故后续得到的其余各最短路径的目标顶点依次是{a,b,c,f,d,e}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux-6.0 内核存储栈全景图

linux 存储栈原图地址:https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram

自动驾驶TPM技术杂谈 ———— ODDODC

文章目录 介绍研究现状主流相关定义国标定义SAE定义WP29定义 ODD主流构建框架NHTSA ODD构建框架SAE AVSC ODD构建框架PEGASUS 6层模型BSI ODD构建框架 设计运行条件的原则ODC 的设计原则ODC 元素的制定原则ODC 的使用原则 设计运行条件元素ODD 元素驾乘人员状态4车辆状态 ODC 描…

3分钟Alibaba Cloud Linux镜像操作系统详解

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…

深入了解隧道代理HTTP的协议与技术细节

隧道代理HTTP,作为一种网络通信的桥梁技术,其背后的协议与技术细节承载着网络世界的无尽奥秘。对于技术人员而言,深入了解这些细节,不仅有助于优化网络性能,还能为网络安全提供坚实的保障。 一、隧道代理HTTP的协议基…

2024阿里云服务器租赁优惠价格表_ECS和轻量应用服务器配置报价

阿里云服务器租用价格表大全,云服务器一年费用、一个月价格以及1小时收费明细,阿里云2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月,ECS云服务器e系列2核2G配置99元一年、2核4G服务器30元3个月、2核4G配置365元一年、…

二维码、条形码识别

一. 场景介绍 二维码和条形码包含很多信息,对二维码和条形码识别对信息抽取具有重要意义。下面介绍两种二维码识别的方法,并用python实现。 二. 代码实现 import os import cv2 from cv2.wechat_qrcode import WeChatQRCode from pyzbar import pyzba…

深度生成模型之GAN基础 ->(个人学习记录笔记)

文章目录 深度生成模型之GAN基础生成对抗网络1. 生成对抗网络如何生成数据2. 生成对抗原理3. GAN的核心优化目标4. D的优化5. GAN的理想状态6. GAN的训练7. 梯度不稳定与模式崩塌(collapse mode)问题8. 梯度消失问题 深度生成模型之GAN基础 生成对抗网络 1. 生成对抗网络如何…

三、HTML元素

一、HTML元素 HTML 文档由 HTML 元素定义。 *开始标签常被称为起始标签(opening tag),结束标签常称为闭合标签(closing tag)。 二、HTML 元素语法 HTML 元素以开始标签起始。HTML 元素以结束标签终止。元素的内容是…

python算法问题,求两个字符串的最长公共子序列长度

对于问题,两个字符串的最长公共子序列长度进行求解,首先要知道子序列的定义,如果说给定一个字符串,对这个字符串中的原有字符进行不改变字符相对位置的删除,这里的相对位置就是处于前还是后的相对关系,进行…

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-7Lead Compensator超前补偿器(调节根轨迹)

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-7Lead Compensator超前补偿器(调节根轨迹) 1. Plot Rootlocus 绘制根轨迹2. System Performance 系统表现3. 改善/加快收敛速度4. 超前补偿器 Lead Compe…

Vue3 结合typescript 组合式函数

在App.vue文件中 实现鼠标点击文件,显示坐标值 第一种方法 第二种方法:组合式函数 结果: 官网推荐组合函数:https://vueuse.org

MySQL之四大引擎、账号管理以及建库

目录 一.数据库存储引擎 ① MEMORY ②MyISAM ③InnoDB ④ARCHIVE 二.数据库管理 2.1.三大数据库 2.1.1.information_schema 2.1.2.mysql 2.1.3.performance_schema 2.2.相关操作 2.3.权限相关的表 三. 数据库的表管理 3.1.三大范式 3.2.基本数据类型 四.账号管理…

Arbitrum之后,估值18亿美元Scroll又火了

文章目录 Scroll的核心竞争力EVM等效全面的去中心化如何领取Scroll空投?结语参考 Scroll是用于以太坊的原生zkEVM Layer 2解决方案,帮助解决以太坊的拥堵问题并进行扩容。 Scroll创立于2021年,致力于创建一个 EVM(以太坊虚拟机&a…

论文阅读: Semantics-guided Triplet Loss

ICCV 2021 Abstract 一个度量学习方法,通过浏览语义引导的局部集合去优化内在深度表示。一个新颖的特征融合模块能有效利用跨模态特异质特征。 Senantics-guided Triplet Loss 基本假设: 在场景语义分割图像中,目标内部相邻像素拥有同样…

声明式管理方法

声明式管理方法(yaml)文件: 1,适合对资源的修改操作 2,声明式管理依赖于yaml文件,所有的内容都在yamI文件当中 3,编辑好的yaml文件,还是要依靠陈述式命令发布到k8s集群当中 发布的…

数据损毁!250 亿美金的 Pinterest,在数据库选型上的翻车经历

原文链接 Pinterest 是一个以图片为主的社交网络,用户可以将图片保存或 "钉 / pin" 在自己的图板上。Pinterest 在 2019 年上市,目前市值 250 亿美金。本文内容主要根据 2012 年 Scaling Pinterest 的分享。 2012 年 1 月,Pinteres…

HTML----JavaScript操作对象BOM对象

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 本章要求 了解BOM模型掌握BOM模型实际应用 一.BOM模型概述 BOM(浏览器对象模型)是JavaScript中的一个重要概念,它提供了一组用于控制浏览器窗口和页面内容的…

力扣热题100道-矩阵篇

矩阵 73.矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法**。** 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]示例…

胡润研究院发布《2023胡润中国最具历史文化底蕴品牌榜》

胡润研究院发布《2023胡润中国最具历史文化底蕴品牌榜》,前十名分别是片仔癀、同仁堂、贵州茅台、五粮液、中国银行、中华、黄山、农业银行、建设银行、汾酒。 榜单调研范围涵盖中国内地具有60年以上历史的为消费者提供产品或服务的品牌,综合考察品牌历史…

C# 语法进阶 委托

1.委托 委托是一个引用类型,其实他是一个类,保存方法的指针 (指针:保存一个变量的地址)他指向一个方法,当我们调用委托的时候这个方法就立即被执行 关键字:delegate 运行结果: 思…