最短路径和最短距离打卡
一、引言
1.1有向图
我们先来一个有向图:
代码如下
clear all
clc
w=zeros(4);
w(1,2)=2;w(1,3)=3;w(1,4)=8;
w(2,3)=6;w(2,4)=6;
G=sparse(w)
我们可以得到
G =
(1,2) 2
(1,3) 3
(2,3) 6
(1,4) 8
(2,4) 6
结果是我们可以寻找最短路径
或者我们也可以
clear all
clc
%sparse([起点集合],[对应终点集合],[对应权重集合])
G = sparse([1 1 1 2 2],[2 3 4 3 4],[2 3 8 6 6]);
s=sparse(G)
结果一样
G =
(1,2) 2
(1,3) 3
(2,3) 6
(1,4) 8
(2,4) 6
三、 有向图最短路径
1创建有向图最短路径
创建有向图
clear all
clc
G = sparse([6 1 2 2 3 4 4 5 5 6 1],[2 6 3 5 4 1 6 3 4 3 5],[41 99 51 32 15 45 38 32 36 29 21])
view(biograph(G,[],'ShowWeights','on'))
结果
G =
(4,1) 45
(6,2) 41
(2,3) 51
(5,3) 32
(6,3) 29
(3,4) 15
(5,4) 36
(1,5) 21
(2,5) 32
(1,6) 99
(4,6) 38
得到有向图如下
我发现代码居然运行不出来了,我先看看MATLAB回事。