图论中求解最短路的dijkstra法的MATLAB程序中最后的矩阵DD是什么意思?MATLAB程序:function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s(

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 09:58:09
图论中求解最短路的dijkstra法的MATLAB程序中最后的矩阵DD是什么意思?MATLAB程序:function[d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序

图论中求解最短路的dijkstra法的MATLAB程序中最后的矩阵DD是什么意思?MATLAB程序:function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s(
图论中求解最短路的dijkstra法的MATLAB程序中最后的矩阵DD是什么意思?
MATLAB程序:
function [d,DD]=dijkstra(D,s)
%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路
%D为赋权邻接矩阵
%d为s(图中顶点)到其它各点最短路径的长度
%DD记载了最短路径生成树
[m,n]=size(D);
d=inf.*ones(1,m);
d(1,s)=0;
dd=zeros(1,m);
dd(1,s)=1;
y=s;
DD=zeros(m,m);
DD(y,y)=1;
counter=1;
while length(find(dd==1)) [d,DD]=dijkstra(W,1)
d =
0 5 3 1 6 10 9 11 8
DD =
1 0 0 2 0 0 0 0 0
0 0 4 0 5 0 0 0 0
0 4 0 3 0 0 0 0 0
2 0 3 0 0 0 0 0 0
0 5 0 0 0 0 0 0 6
0 0 0 0 0 0 8 9 0
0 0 0 0 0 8 0 0 7
0 0 0 0 0 9 0 0 0
0 0 0 0 6 0 7 0 0
DD中的数字表达什么意思,或者DD表达什么意思,我不懂.

图论中求解最短路的dijkstra法的MATLAB程序中最后的矩阵DD是什么意思?MATLAB程序:function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s(
你的源代码中不说明了,DD表示最短路径的生成树嘛!
你看DD矩阵中的数字,是一个对称矩阵,根据该矩阵就可以知道,最短路径的通路是:
1->4->3->2->5->9->7->6->8(数字表示结点的号码),这条路径的权重(你可以理解为距离)就是11,由D给出.
实际上由D你也可以推出这条路径,只不过,D是用一维表示方法(根据权重),而DD是二维表示方法(根据下一个结点,所以就是1、2、3.).
--------------------------------
你对照DD画出一张图,你就明白了.
有数字的就画线,并标明权重,是0就不画线.

图论中求解最短路的dijkstra法的MATLAB程序中最后的矩阵DD是什么意思?MATLAB程序:function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s( matlab运行dijkstra函数出错function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s到其它各点最短路径的长度; %DD记载了最短路径生成树[m,n Dijkstra最短路算法通用Matlab程序 Dijkstra最短路算法通用Matlab程序function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s到其它各点最短路 求用matlab解最短路问题的程序要用Dijkstra算法找出任意两点间的最短路径.希望用MATLAB或LINGO编程求解.求程序, matlab求最短路,运行dijkstra函数时出错function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s到其它各点最短路径的长度; %DD记载了最短路 最短路径的Dijkstra算法思路 关于matlab中的一个Dijkstra算法应用算法如下:function[d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s到其它各点最短路径的长度%DD记载了 dijkstra算法 最短路径问题话说dijkstra算法可以求解一个节点到其他各节点的最短路径,但是如果节点间存在多条等长的最短路径怎么对这个算法修改呢?不要floyd算法或者别的算法,就dijkstra算法. 有向图中,权值的范围为0到常数W的整数,给定源点s,修改Dijkstra算法,使最短路的时间复杂度为O(WV+E) (用Dijkstra算法)求出图中顶点1到其余各顶点的最短路径 求第k最短路,用spfa好还是dijkstra好?原因? 采用Dijkstra算法求解带权有向图的最短路径问题时,要求图中i跳变所带的权值必须是(C)数A.非零 B 非整 C 非负 D非正 用迪基克斯特(Dijkstra)算法求解... 求出a点到其他个点的最短距离及路径.. 过程会长一些,请见谅,写出全过程,我想对一下自己的答案看哪里出错 Dijkstra算法的主要步骤是什么? Floyd算法与Dijkstra算法的不同 关于Dijkstra算法和Floyd算法Dijkstra算法和Floyd算法都可以求给定点到其他点的最短路径,可是一个代码复杂,请问在什么情况下用哪个比较容易呢? 提供几道Dijkstra算法的ACM水题练习 为什么Dijkstra算法含有负数的时候不正确