图的存储结构:

目录

1. 邻接矩阵 adjacency matrix

2. 邻接表

无向图

有向图

带权值的网图

3. 十字邻接表

重新定义顶点表结点结构

重新定义的边表结点结构

4. 邻接多重表:

邻接多重表与邻接表的差别:

5.边集数组


1. 邻接矩阵 adjacency matrix

   

  • 无向图是对称矩阵。

  • 某个顶点的度其实就是这个顶点 vi 在邻接矩阵中第i行(或第i列)的元素之和。比如顶点v1 的度就是1+0+1+0=2。

  • 求顶点vi 的所有邻接点就是将矩阵中第i行元素扫描一遍, arc[i][j]为1就是邻接点。

  • 有向图讲究入度与出度, 顶点 vi 的入度为1, 正好是第vi 列各数之和。顶点 vi 的出度为2, 即第vi 行的各数之和。

  • 与无向图同样的办法, 判断顶点vi 到vj 是否存在弧, 只需要查找矩阵中arc[i][j]是否为1即可。 要求vi 的所有邻接点就是将矩阵第i行元素扫描一遍, 查找arc[i][j]为1的顶点。

2. 邻接表

无向图

  • 图中顶点用一个一维数组存储,每个数据元素还需要存储指向第一个邻接点的指针, 以便于查找该顶点的边信息。

  • 每个顶点vi的所有邻接点构成一个线性表

  • 无向图称为顶点 vi 的边表, 有向图则称为顶点 vi 为弧尾的出边表。

  • 顶点的等于顶点的边表中结点的个数

  • 若要判断顶点vi到vj是否存在边, 只需要测试顶点vi的边表中adjvex是否存在结点vj的下标j就行了。

有向图

顶点为弧尾来存储边表, 这样很容易就可以得到每个顶点的出度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值