【最短路径算法】

news2024/11/15 18:04:09

每日格言:想去的地方很遥远,我们也只能自己走


前言

最短路径算法是一类用于解决图中两点间寻找最短路径问题的算法。这里我们只具体介绍利用matlab中的函数实现,迪克斯特拉算法和弗洛伊德算法大家有兴趣可上网了解一下。这类算法在多个领域都有应用,包括网络路由、交通规划、电路设计等


问题引入及求解

求解思想:最短路径上的任一子路径也是最短路径

如果现在我想以最短路径从城市0到城市8,我应该选取哪一条路线呢?

这里是单源最短路径问题即从图中的某个顶点出发,到达另一个顶点所经过的边的权重之和最小的一条路径

 这里我们可以直接使用matlab中自带的shortestpath函数即可,关于画出我们的路线图前面我们在图论中以及讲过了,不记得的友友可以点下方链接查看:

图论

% 定义图的边和权重
s = [9 9 1 1 3 3 3 2 2 5 5 7 7 8]; % 起始节点编号,这里我们用9代替0
t = [1 2 2 3 4 6 7 4 5 4 7 6 8 6]; % 终止节点编号
w = [4 8 3 8 2 7 4 1 6 6 2 14 10 9]; % 边的权重
% 创建一个图形对象 G
G = graph(s,t,w);
% 绘制图形 G,并将边的权重添加到图形上
% G.Edges.Weight 表示图形对象 G 中所有边的权重值,'EdgeLabel' 表示在图形上显示这些权重值
plot(G, 'EdgeLabel', G.Edges.Weight, 'linewidth', 2)
% 隐藏图形的坐标轴
set( gca, 'XTick', [], 'YTick', [] );
% shortestpath 函数计算从节点 9 到节点 8 的最短路径和路径长度,并将路径和路径长度分别存储在 P 和 d 中
[P,d] = shortestpath(G, 9, 8)
% 在图形 G 中高亮显示最短路径
% highlight 函数高亮图形对象 myplot 中的路径 P,'EdgeColor', 'r' 表示将路径颜色设置为红色。
myplot = plot(G, 'EdgeLabel', G.Edges.Weight, 'linewidth', 2);
highlight(myplot, P, 'EdgeColor', 'r')

总结

最短路径的matlab算法较为简单,大家可以自己实践一下

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

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

相关文章

安全稳定的镭速高端制造业文件传输摆渡系统

在现代制造业的高速发展中,高端制造领域尤为依赖高效的文件传输系统,这类系统不仅促进了企业内部的合作,还加强了与合作伙伴的紧密联系,成为推动创新和决策的关键因素。镭速文件传输系统正是为了满足这一需求而设计,其…

KamaCoder 102. 沉没孤岛

题目描述: 给定一个由 1(陆地)和 0(水)组成的矩阵,岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域,且完全被水域单元格包围。孤岛是那些位于矩阵内部、所有单元格都不接触边缘的岛屿…

如何做好小程序评论优化

用户在决定要不要用一个小程序时,往往会参考其他用户的评分和评论。因此小程序评论优化是提升用户互动和口碑传播的关键环节。以下是一些针对小程序评论优化的具体策略: 1. 优化评论区设计 确保用户能够轻松找到并访问评论区。可以在小程序的显眼位置设…

netassist TCP测试工具使用

写在前面 有时工作中我们编写一些tcp相关的程序,而netassist就是这样一款辅助我们进行TCP功能测试的工具,你可以从这里下载。 1:使用 我们需要一个server程序,可以参考这篇文章,启动server后,就可以使用…

集美大学携手和鲸与龙船,深化“航运+AI”学科建设,赋能航海人才培养

“闽国扬帆去,蟾蜍亏复圆。” ——唐贾岛 《忆江上吴处士》 人类探索海洋的脚步从未停止。昔日,闽地的先民眺望浩瀚大海,叹其无垠难测;如今,海洋科学与人工智能的交叉融合正引领着新一轮的探索浪潮,成为不…

智能学习系统

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的智能学习系统应运而生,各行各业相继进入信息管理时…

高性价比运动耳机有哪些?五大高性价比运动耳机分享

对于很多人来说,音乐都是日常生活中不可或缺的一部分,在路上随处可见戴着耳机的人打发无聊的时间。相对于传统的入耳式耳机来说,市面上涌现了一批开放式耳机,它们凭借其开放不塞耳的特性,能够适应多种场景,…

telegraf、influxdb、grafana安装配置

InfluxDB(时序数据库),常用的一种使用场景:监控数据统计。 grafana,用作监控页面的前端展示。 telegraf,数据采集器。 一、Influxdb安装及配置 下载:wget https://dl.influxdata.com/influx…

RFID无线测温系统,守护电厂安全运行的关键力量

一、RFID无线测温系统概述 RFID无线测温系统主要由传感器、数据传输装置和监控中心三部分组成。 传感器是系统的感知前端,通常采用RFID技术,能够实时感知温度变化。例如,在一些应用中,RFID传感器可以安装在电力设备的关键部位&a…

【Python快速入门和实践014】Python常用脚本-批量重命名指定文件夹下文件名字

一、功能讲解 这段代码是一个用于批量重命名文件的Python脚本。它的主要功能是在文件名前添加一定数量的前导零,使得所有文件名的长度保持一致。这对于管理大量文件,特别是当文件名需要按照特定顺序排列时非常有用。 导入必要的模块: os: 用于…

SiLM5932SHO系列SiLM5932SHOCG-DG 12A/12A强劲驱动电流能力 支持主动短路保护功能(ASC)单通道隔离门极驱动器

SiLM5932SHO系列是一款单通道隔离驱动器,提供12A源电流和12A灌电流。主动保护功能包括退饱和过流检测、UVLO、隔离故障报警和 4A 米勒钳位。输入侧电源的工作电压为3V至5.5V,输出侧电源的工作电压范围为13V至30V。所有电源电压引脚都有欠压锁定 (UVLO) 保…

golang基于WMI获取所有外接硬盘(USB,移动硬盘)信息

golang基于WMI获取所有外接硬盘(USB,移动硬盘)信息 package mainimport ("fmt""regexp""github.com/StackExchange/wmi""github.com/shirou/gopsutil/v3/disk" )// 定义 WMI 类结构体 type Win32_LogicalDiskToPartition struct {Ant…

Alleviating Hallucination in Multi-Modal Large Language Models

OPERA: Alleviating Hallucination in Multi-Modal Large Language Models via Over-Trust Penalty and Retrospection-Allocation 文章汇总 当前的问题发现 如图,在模型生成幻觉内容时,最后一层的 Self-Attention 权重大概率会在幻觉部分之前呈现出明…

【el-table】横向滚动条加粗后,滚动到固定列下被遮挡,已解决

横向滚动条按要求加粗后,遇到的问题:列表的操作列是固定在最右侧的,当滚动条滑动到最右侧的时候,滚动条被遮挡了 我尝试了几种方法都不行,比如找到.el-table__fixed-right .el-table__fixed-footer-wrapper &#xff…

LoadRunner12添加集合点

集合点的含义和意义: 集合点用于保证真正的并发。当脚本运行到集合点函数时,将停止运行并等待其允许运行的条件(即集合点策 略),达到后才释放集合点开始运行。用来分析软件性能瓶颈。 一般将集合点放在开始事务代码之前。 通常来说集合点不需…

Vue2 axios

1.安装引入 axios npm i axios 2.配置代理 1.配置代理(方式一) module.exports {devServer: {proxy: http://localhost:5000} } 1.发送ajax请求 getStudent(){axios.get(http://localhost:8080/students).then(res>{console.log(请求成功了,res.data);},error>{co…

大咖公开课 | AI自动化应用开发,让创意与效率并驾齐驱!

在这个日新月异的时代,人工智能(AI)与自动化技术的融合正以前所未有的速度重塑着各行各业。你是否梦想过,在信息的海洋中自动筛选出精华,用创意点亮每一篇内容,同时让繁琐的工作流程变得轻松高效&#xff1…

丰收季遇科技之光:北斗卫星导航引领现代农业新篇章

在这个金风送爽、硕果累累的丰收时节,广袤的田野上洋溢着农民们欢声笑语,每一粒饱满的果实都是大自然与辛勤耕耘者的共同馈赠。而在这片希望的田野上,一项科技革命的浪潮正悄然改变着传统农业的面貌——北斗卫星导航系统,正以它精…

Win10电脑怎么开启远程桌面?

在工作中,远程连接是一种常见的操作需求,而在Windows系统中提供远程连接功能。然而,Windows自带远程控制功能需要电脑设置允许远程连接,才能进行远程控制。那么,Win10如何设置允许远程连接?Win10开启远程桌…

一次异常艰难的渗透测试

0x01 暴力破解 朴实无华的弱口令,我都怀疑是不是交互式蜜罐。 0x02 文件上传 该系统所有文件上传功能均通过同一方式进行上传。 文件列表,可以看到文件上传后,从文件列表处能看到FileDirFilePath为文件路径的存放路径,文件名为G…