博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
语法测试
阅读量:5166 次
发布时间:2019-06-13

本文共 868 字,大约阅读时间需要 2 分钟。

function [mydistance,mypath]=mydijkstra(a,sb,db)%寻找i,j两点最短路径% 输入:a—邻接矩阵,a(i,j)是指i到j之间的距离,可以是有向的% sb—起点的标号, db—终点的标号% 输出:mydistance—最短路的距离, mypath—最短路的路径n=size(a,1); visited(1:n) = 0;distance(1:n) = inf; distance(sb) = 0; %起点到各顶点距离的初始化visited(sb)=1; u=sb;  %u为最新的P标号顶点parent(1:n) = 0; %前驱顶点的初始化for i = 1: n-1    id=find(visited==0); %查找未标号的顶点    for v = id        if  a(u, v) + distance(u) < distance(v)            distance(v) = distance(u) + a(u, v);  %修改标号值            parent(v) = u;        end    end    temp=distance;    temp(visited==1)=inf;  %已标号点的距离换成无穷    [t, u] = min(temp);  %找标号值最小的顶点    visited(u) = 1;       %标记已经标号的顶点endmypath = [];if parent(db) ~= 0   %如果存在路!    t = db; mypath = [db];    while t ~= sb        p = parent(t);        mypath = [p mypath];        t = p;    endendmydistance = distance(db);end

转载于:https://www.cnblogs.com/ctgu/p/11481554.html

你可能感兴趣的文章
Centos7 tmux1.6 安装
查看>>
二叉树(三)
查看>>
linux加密文件系统 fsck 无法修复一例
查看>>
【linux配置】VMware安装Redhat6.5
查看>>
AI自主决策——有限状态机
查看>>
Python装饰器学习笔记
查看>>
iframe父子窗口取值
查看>>
利用Python进行数据分析_Pandas_数据结构
查看>>
2018-2019 2 20175230《Java程序设计》第九周学习总结
查看>>
python3中sum
查看>>
spring声明式事务管理
查看>>
JavaScript高阶函数(Heigher-order function)
查看>>
《计算机组成原理》第6章:总线
查看>>
Nginx的反向代理的配置
查看>>
JAVA之单例模式
查看>>
关于String str =new String("abc")和 String str = "abc"的比较
查看>>
Android软件架构及子系统介绍
查看>>
《DSP using MATLAB》示例 Example 6.14、6.15
查看>>
Java命名规范
查看>>
小学生算术
查看>>