1.1 网络的表示方法
第1关:无权无向网络的表示方法
A=[0 1 1 1 0 1;1 0 0 0 0 0;1 0 0 0 0 0;1 0 0 0 1 0;0 0 0 1 0 0;1 0 0 0 0 0];
disp(A);
第2关:有权有向网络的表示方法
A=[0 0 0 0 0;1 0 0 1 0;0 5 0 0 6;0 0 4 0 0;0 0 0 0 0];
disp(A);
第3关:有权无向网络与无权有向网络的表示方法
clc;
clear;
A=[0 1 4 0 0;1 0 0 3 0;4 0 0 0 2;0 3 0 0 1;0 0 2 1 0];
B=[0 0 0 0 0;1 0 0 1 0;1 0 0 0 0;0 0 1 0 1;0 1 0 0 0];
disp(A)
disp(B);
2.2 邻接表与邻接矩阵的转换
第1关:网络邻接链表表示方法
edges=[2 1 1;2 4 1;3 2 5;3 5 6;4 3 4];
disp(edges);
第2关:网络邻接矩阵转换为邻接链表
clc;
clear;
A = [0 1 1 1 0 1;1 0 0 0 0 0;1 0 0 0 0 0;1 0 0 0 1 0;1 0 0 0 0 0];
B = triu(A);
[x y] = find(B);
edges = [x,y];
disp(edges);
第3关:网络邻接链表转换为邻接矩阵
G = zeros(6,6);
edges = [1 2;1 3;1 4;1 6;4 5];
for i=1:5
G(edges(i,1),edges(i,2)) = 1;
end
G_1 = triu(G);
G=G_1+(G_1)';
disp(G);