• 大小: 956B
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-11-22
  • 语言: Matlab
  • 标签: Dijkst  matlab  

资源简介

matlab编制的dijkstra算法,输入为图矩阵(N个节点,N*N),源节点编号和目的节点编号,输出为节点路径和距离

资源截图

代码片段和文件信息

function [mydistancemypath]=dijkstra(asbdb);
% 输入:a邻接矩阵(aij)是指i到j之间的距离,可以是有向的
% sb?起点的标号 db终点的标号
% 输出:mydistance最短路的距离 mypath最短路的路径
n=size(a1); visited(1:n) = 0;
a(find(a==0))=inf;
distance(1:n) = inf; % 保存起点到各顶点的最短距离
distance(sb) = 0; parent(1:n) = 0;
for i = 1: n-1
    temp=distance;
    id1=find(visited==1); %查找已经标号的点
    temp(id1)=inf; %已标号点的距离换成无穷
    [t u] = min(temp); %找标号值最小的顶点
    visited(u) = 1; %标记已经标号

评论

共有 条评论