Dijkstra和Floyed算法的Matlab版本

本文介绍了如何在Matlab中实现Dijkstra和Floyd算法,用于求解图中两点间的最短路径。通过邻接矩阵G表示图,从startv出发到endv的目标点,Dijkstra算法返回最短距离Dis(若不存在则为inf)。Floyd算法则迭代得到所有点对之间的最短距离矩阵DisG,并提供路径Vpath。
摘要由CSDN通过智能技术生成

G是图的邻接矩阵,startv是出发点,endv是目标点
Dis输出两点间最短距离,不存在的时候是inf

function [Dis,path] = Dijkstra(G,startv,endv);%%用于求两点间最短路径
% G是图的邻接矩阵,G(i,j)表示ij两点间距离(权值);
% startv起点标号,endv终点标号
%Dis最短路距离 ,path最短路径
n=size(G,1);%%顶点个数
distance(1:n)=inf;distance(startv)=0;%%初始化距离
visited(1:n)=0;%%标记该顶点是否被访问过,初始化为0表示未被访问过
visited(startv)=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值