码迷,mamicode.com
首页 > 其他好文 > 详细

7.2 图的存储结构

时间:2020-08-17 17:23:32      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:结构   节点   str   jlink   表示法   process   amp   term   src   


title: 数据结构 | 图-2 | 图的存储结构
date: 2019-11-26 22:38:30
tags: 数据结构


邻接矩阵、邻接多重表
邻接表、逆邻接表、十字链表

数组表示法(邻接矩阵表示)

有向图的邻接矩阵表示:
技术图片
无向图中顶点Vi的度TD(Vi)是邻接矩阵A中第 i 行元素之和.

邻接表

  • 无向图中顶点Vi的度为第i个单链表中的结点数

无向图的邻接表技术图片

  • 有向图中
    顶点Vi的出度为第i个单链表中的结点个数
    顶点Vi的入度为整个单链表中邻接点域值是i的结点个数
  • 逆邻接表:有向图中对每个结点建立以Vi为头的弧的单链表

有向图的邻接表和逆邻接表

技术图片

有向图的十字链表表示法

十字链表是有向图的一种存贮方式
其中,图中的顶点顶点结点单元表示。弧结点单元表示。

弧节点单元

技术图片

  • tailvex / headvex:
    尾/头域:弧尾和弧头两个顶点在图中的位置
  • hlink: 弧头相同的下一条弧
  • tlink: 弧尾相同的下一条弧
  • info: 该弧的相关信息

顶点节点单元

技术图片

  • firstin: 顶点为弧头的第一个弧结点;//可求入度
  • firstout: 顶点为弧尾的第一个弧结点;//可求出度
  • data: 该结点的相关信息

表示样例

对第一个结点而言,蓝色线串起了以1为弧头的弧,绿线串起了以1为弧尾的弧
技术图片

无向图邻接多重表表示法

邻接多重表是无向图的一种存贮方式
其中,图中的顶点顶点结点单元表示。边节点单元表示。
邻接表的差别在于 ,邻接表用2个顶点表示一条边,而邻接多重表用1个顶点表示一条边。

边节点单元

技术图片

  • mark,访问标志;
  • ivex/jvex:边依符的两个顶点的位置;
  • ilink/jlink:两个顶点的下一条边;
  • info:边的信息

顶点节点单元

技术图片

表示样例技术图片

7.2 图的存储结构

标签:结构   节点   str   jlink   表示法   process   amp   term   src   

原文地址:https://www.cnblogs.com/nightland/p/13504387.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!