图论中求解最短路的dijkstra法的MATLAB程序中最后的矩阵DD是什么意思?MATLAB程序:function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s(
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/08 22:08:53
![图论中求解最短路的dijkstra法的MATLAB程序中最后的矩阵DD是什么意思?MATLAB程序:function [d,DD]=dijkstra(D,s)%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵%d为s(](/uploads/image/z/10136660-68-0.jpg?t=%E5%9B%BE%E8%AE%BA%E4%B8%AD%E6%B1%82%E8%A7%A3%E6%9C%80%E7%9F%AD%E8%B7%AF%E7%9A%84dijkstra%E6%B3%95%E7%9A%84MATLAB%E7%A8%8B%E5%BA%8F%E4%B8%AD%E6%9C%80%E5%90%8E%E7%9A%84%E7%9F%A9%E9%98%B5DD%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%3FMATLAB%E7%A8%8B%E5%BA%8F%EF%BC%9Afunction+%5Bd%2CDD%5D%3Ddijkstra%28D%2Cs%29%25Dijkstra%E6%9C%80%E7%9F%AD%E8%B7%AF%E7%AE%97%E6%B3%95Matlab%E7%A8%8B%E5%BA%8F%E7%94%A8%E4%BA%8E%E6%B1%82%E4%BB%8E%E8%B5%B7%E5%A7%8B%E7%82%B9s%E5%88%B0%E5%85%B6%E5%AE%83%E5%90%84%E7%82%B9%E7%9A%84%E6%9C%80%E7%9F%AD%E8%B7%AF%25D%E4%B8%BA%E8%B5%8B%E6%9D%83%E9%82%BB%E6%8E%A5%E7%9F%A9%E9%98%B5%25d%E4%B8%BAs%28)
图论中求解最短路的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就不画线.