实验二 网络的表示方法

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); %初始化6x6的矩阵
edges = [1 2;1 3;1 4;1 6;4 5];
for i=1:5 %边有5条
    G(edges(i,1),edges(i,2)) = 1;
end
G_1 = triu(G); %提取G的上三角部分
G=G_1+(G_1)'; %将G_1与其转置相加
disp(G); %无向图的邻接矩阵,矩阵对称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值