zoukankan      html  css  js  c++  java
  • 7.2 图的存储结构


    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:边的信息

    顶点节点单元

    顶点节点

    表示样例表示样例

  • 相关阅读:
    VMwarePro密钥
    Windows事件ID
    python中安装下载超时,下载不了安装包
    PNG文件结构分析 ---Png解析
    世界协调时间(UTC)与中国标准时间
    计算机用户权限比较
    pikachu-xx型注入
    pikachu-搜索型注入 #手工注入
    显示桌面图标
    SQL2005 数据库还原到 SQL2008 错误 3145 解决办法
  • 原文地址:https://www.cnblogs.com/nightland/p/13504387.html
Copyright © 2011-2022 走看看