【路径规划】基于Dijkstra算法及Floyd算法的通信与网络路径规划(Matlab代码实现)

简介: 【路径规划】基于Dijkstra算法及Floyd算法的通信与网络路径规划(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥

🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者

⛳ 座右铭:行百里者,半于九十。

📋 📋 📋 本文目录如下: 🎁 🎁 🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

Dijkstra算法是解决**单源最短路径**问题的**贪心算法**,它先求出长度最短的一条路径,再参照该最短路径求出长度次短的一条路径, 直到求出从源点到其他各个顶点的最短路径。


基本思想:


首先假定源点为u,顶点集合V被划分为两部分:集合 S 和 V-S。 初始时S中仅含有源点u,其中S中的顶点到源点的最短路径已经确定。


集合S 和V-S中所包含的顶点到源点的最短路径的长度待定,称从源点出发只经过S中的点到达V-S中的点的路径为特殊路径,


并用dist[]记录当前每个顶点对应的最短特殊路径长度。


Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。


📚2 运行结果


ea7d76e6ba892d9b64374fdc49eb6390.png


97f2bd837baa97400a5fbd3c33504049.png


。。。。。。


ba4c44cba353f3af6875a539c69683b8.png


509b157ac324f74c0719cda95ddcdf9b.png


部分代码:

%标出顶点(蓝色)
for i=1:n
%text(i+0.1,point(2,i),['V',num2str(i)],'Color','b');
%hold on;
plot(i,point(2,i),'.','Color','b','MarkerSize',20);
hold on;
end
%标出起点(红色)
%text(v+0.1,point(2,v),['V',num2str(v)],'Color','r');
plot(v,point(2,v),'.','Color','r','MarkerSize',20);
%连线
for i=1:n
L=1;
while(fullPath(i,L)~=0 && fullPath(i,L+1)~=0 && dist(i)~= inf)
%路径前后两点的X坐标
X_vector=[point(1,fullPath(i,L)),point(1,fullPath(i,L+1))];
%路径前后两点的Y坐标
Y_vector=[point(2,fullPath(i,L)),point(2,fullPath(i,L+1))];
%绘制路线
plot(X_vector,Y_vector);
hold on;
%标出路线对应的长度(不标自己到自己的)
if fullPath(i,L) ~= fullPath(i,L+1)
text(mean(X_vector),mean(Y_vector),num2str(netGraph(fullPath(i,L),fullPath(i,L+1))),'Color','m')
end
hold on;
L=L+1;
end
%标出距离
text(point(1,i)+0.1,point(2,i)+0.2,['V',num2str(i),'/',num2str(dist(i))]);
axis([0,n+1,0,10*n]);
hold on;
end
end


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]黄翼虎,于亚楠.基于改进Dijkstra算法的防冲突最短路径规划研究[J].计算机与现代化,2022(08):20-24.

[2]唐爽权,张博峰,穆森,陈子希,冯浩铭,徐境.基于Floyd算法的最优路径规划问题[J].科学技术创新,2021(24):16-17.


🌈4 Matlab代码实现


相关文章
|
8月前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
217 0
|
8月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
560 2
|
8月前
|
算法 数据挖掘 区块链
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
255 2
|
7月前
|
机器学习/深度学习 数据采集 存储
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
1080 0
|
7月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
319 0
|
7月前
|
传感器 机器学习/深度学习 数据采集
【航空发动机寿命预测】基于SE-ResNet网络的发动机寿命预测,C-MAPSS航空发动机寿命预测研究(Matlab代码实现)
【航空发动机寿命预测】基于SE-ResNet网络的发动机寿命预测,C-MAPSS航空发动机寿命预测研究(Matlab代码实现)
523 0
|
SQL 监控 安全
网络安全与信息安全:漏洞、加密与安全意识
随着互联网的迅猛发展,网络安全和信息安全问题日益受到关注。本文深入探讨了网络安全漏洞、加密技术以及提高个人和组织的安全意识的重要性。通过分析常见的网络攻击手段如缓冲区溢出、SQL注入等,揭示了计算机系统中存在的缺陷及其潜在威胁。同时,详细介绍了对称加密和非对称加密算法的原理及应用场景,强调了数字签名和数字证书在验证信息完整性中的关键作用。此外,还讨论了培养良好上网习惯、定期备份数据等提升安全意识的方法,旨在帮助读者更好地理解和应对复杂的网络安全挑战。
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
464 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
355 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章