%%Dijkstra算法
%%vi为结点,ei为边,L为路径长度
function Dijkstra
%%输入信息
n=input('请输入结点的个数n=');
m=input('请输入边的条数m=');
for k=1:m
bian(k).qianqu=input('边的前驱','s');
bian(k).houji=input('边的后继','s');
bian(k).value=input('边的权重');
end
for k=1:n
dian(k).name=strcat('v',num2str(k));
dian(k).biaohao='t';
end
%%初始化
dian(1).L=0;
dian(1).qianqu=0;
dian(1).biaohao='p';
for k=1:m
if bian(k).qianqu=='v1'
dian(str2num(bian(k).houji(2))).L=bian(k).value;
dian(str2num(bian(k).houji(2))).qianqu=dian(1).name;
end
if bian(k).houji=='v1'
dian(str2num(bian(k).qianqu(2))).L=bian(k).value;
dian(str2num(bian(k).qianqu(2))).qianqu=dian(1).name;
end
end
for k=1:n
if isempty(dian(k).L)
dian(k).L=inf;
end
end
%%求解最短途径
log=n-1;min=inf;
while log
for k=2:n
if dian(k).biaohao=='t'
if min>dian(k).L
mins=k;
min=dian(k).L;
end
end
end
dian(mins).biaohao='p';
for k=1:m
if bian(k).qianqu==strcat('v',num2str(mins))&dian(str2num(bian(k).houji(2))).biaohao~='p'
if dian(str2num(bian(k).houji(2))).L>(dian(str2num(bian(k).qianqu(2))).L+bian(k).value)
dian(str2num(bian(k).houji(2))).L=dian(str2num(bian(k).qianqu(2))).L+bian(k).value;
dian(str2num(bian(k).houji(2))).qianqu=dian(mins).name;
end
end
if bian(k).houji==strcat('v',num2str(mins))&dian(str2num(bian(k).qianqu(2))).biaohao~='p'
if dian(str2num(bian(k).qianqu(2))).L>(dian(str2num(bian(k).houji(2))).L+bian(k).value)
dian(str2num(bian(k).qianqu(2))).L=dian(str2num(bian(k).houji(2))).L+bian(k).value;
dian(str2num(bian(k).qianqu(2))).qianqu=dian(mins).name;
end
end
end
min=inf;log=log-1;
end
dian(n).L
dian(n).name
p=dian(str2num(dian(n).qianqu(2)));
for k=1:(n-2)
p.name
p=dian(str2num(p.qianqu(2)));
end
p.name

IT狂飙
- 粉丝: 4849
- 资源: 2649
最新资源
- GooglePinyin谷歌开发的 拼音输入法的一个安装包版本
- html静态网站基于新闻类网站网页设计与实现(高分期末大作业).zip
- 异步电机矢量控制详解:FOC与转子磁场定向控制技术及其实践指南(附Word文档),异步电机矢量控制与学习:聚焦FOC与转子磁场定向控制,高效控制效果及Word文档详解,异步电机矢量控制 foc 转
- MATLAB仿真实现:Chan法计算TDOA与GDOP值的方法研究,MATLAB仿真实现:基于Chan法计算TDOA与GDOP算法研究,M00398-使用 Chan 法计算 TDOA 和计算 GDOP
- 中国暴雨数据集2001-2019.zip
- 三菱Q系列QD173H与QD170运动控制器深度解析:从参数配置到功能应用全解析,三菱Q系列QD173H与QD170运动控制器全方位详解:高级功能涉及事频讲解、源程序与配置文件的完整指南,全方位讲解三
- 一个英文输入法,主要用于英文输入,便捷好用
- 深入解析三线仿真问题解决方案,三线仿真问题的全面解析与解决方案,三线仿真问题解决 ,三线仿真; 问题解决; 解决方案; 故障排除,三线仿真难题攻破方案
- 分享一款好用的串口调试工具~
- 混合动力汽车基于规则的能量管理策略及CRUISE整车模型控制策略结果解析,基于规则的混合动力汽车能量管理策略及CRUISE整车模型控制策略研究图结果展示,混合动力汽车基于规则的能量管理策略,结果如图
- DeepSeek使用教程
- 陨石着陆数据集.zip
- 基于COMSOL模拟的多孔介质与多相材料渗流分析:球体及过渡区边界处理与土体夹杂碎石渗流特性研究,COMSOL多孔介质与多相材料渗流模拟:从球体到土体夹杂碎石的孔隙流模拟研究与应用,comsol多孔介
- 地图瓦片xyz下载工具
- 清华大学104页《DeepSeek:从入门到精通》
- 基于光伏交直流混合微电网离网模式的双下垂控制Matlab Simulink仿真研究,基于光伏交直流混合微电网的离网模式与双下垂控制Matlab Simulink仿真模型研究,光伏交直流混合微电网离网(
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


