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

    顶点节点单元

    顶点节点

    表示样例表示样例

  • 相关阅读:
    xiong_6博客迁址
    调用百度地图获取地理位置
    fastadmin 接口开发注意事项
    fastadmin下拉选择框数据生成
    fastadmin 模型篇
    fastadmin跨数据库配置模型
    Git学习笔记#2-创建版本库与提交文件
    Git学习笔记#1-基本概念
    科目一知识点汇总
    Mysql学习笔记#6-约束
  • 原文地址:https://www.cnblogs.com/nightland/p/13504387.html
Copyright © 2011-2022 走看看