【路径规划】基于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代码实现


相关文章
|
23天前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
|
23天前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
|
23天前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
116 8
|
23天前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
|
23天前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
141 0
|
1月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
115 2
|
2月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
176 3
|
2月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
101 6
|
23天前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
|
1月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。