6.2.图的存储结构-邻接矩阵法

一.邻接矩阵法存储不带权图:

结点不带权值:

1.左图的无向图中,A到B直达的有一条路,所以A行B列的值为1->由于无向图不存在方向,所以B到A直达的有一条路,因此B行A列的值为1;

左图的无向图中,A到F没有直达的路,所以A行F列的值为0->由于无向图不存在方向,所以F到A没有直达的路,因此F行A列的值为0;

结论:无向图中采用邻接矩阵法,0表示两个顶点不邻接,1表示两个顶点邻接,边对应两个1;

2.右图的有向图中,A到B直达的有一条路,所以A行B列的值为1,

B到A没有直达的路,所以B行A列的值为0;

结论:有向图中采用邻接矩阵法,1表示有向边(弧),有向边(弧)对应一个1;

3.上述图片中的代码,顶点表是要存入边表的即表中存点;

4.顶点表也可以是其他类型,如整型,自定义数据类型;

5.int型表示边占4个字节(4B)或者8个字节(8B),用bool型或枚举型变量表示边则占1个字节(1B);

6.注:表中的顶点是有下标(编号)的,这样是为了在表中方便寻找两个顶点的关系,如A的下标为0,B的下标为1,这样比如在左图的无向图中只需要找第0行第1列就可以查找顶点A和B的关系;

7.邻接矩阵的边需要用二位数组存储,因为两个顶点确定一条边,所以上述图片中用来存储邻接矩阵的边的二维数组也是和顶点数相关;

8.如何求顶点的度(针对无向图和有向图),入度和出度(只针对有向图):

  • 无向图:如上述图片中的B结点,在B结点这一行中,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值