图的存储结构

一、邻接矩阵存储方法

邻接矩阵是表示顶点之间相邻关系的矩阵。

设G=(V,E)是具有n(n>0)个顶点的图,顶点的顺序依次为0~n-1,则G的邻接矩阵A是n阶方阵,其定义如下:

(1)如果G是无向图,则:

      A[i][j]=1:若(i,j)∈E(G)   0:其他

(2)如果G是有向图,则:

      A[i][j]=1:若<i,j>∈E(G)  0:其他

(3)如果G是带权无向图,则:

      A[i][j]= wij :若i≠j且(i,j)∈E(G)    0:i=j    ∞:其他

(4)如果G是带权有向图,则:

      A[i][j]=  wij :若i≠j且<i,j>∈E(G)   0:i=j ∞:其他

注意:带权图和不带权图表示的元素类型不同。

带权图(不论有向还是无向图)A[i][j]用double表示,不带权图(不论有向还是无向图)A[i][j]用int表示





用一维数组G[ ]存储有4个顶点的无向图如:G[ ] = { 0, 1, 0, 1, 1, 0, 0, 0, 1, 0 }

则顶点2和顶点0之间是有边的。

如:


邻接矩阵的特点如下:

(1)图的邻接矩阵表示是唯一的

(2)无向图的邻接矩阵一定是一个对称矩阵

因此,按照压缩存储的思想,在具体存放邻接矩阵时只需存放上(或下)三角形阵的元素即可。

ÿ

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值