数据结构之图的存储结构十字链表法

一、邻接表法回顾

邻接表法

邻接表法特点:

  • 可以存储有向图和无向图
  • 计算节点的出度很快(边链表数量)
  • 计算节点的入度很慢(需要遍历全部节点)

二、有向图存储结构十字链表法

2.1 十字链表法定义
十字链表法定义
顶点结构:
  • data:数据域可以存放节点信息
  • firstin:第一个入边
  • firstout:第一个出边
边结构:
  • tailvex:弧尾结点
  • headvex:弧头结点
  • hlink:弧头相同的下一条边
  • tlink:弧尾相同的下一条边
  • info:信息域(可以存储边的权值)

特点:

  • 仅可以表示有向图,无法表示无向图
  • 计算结点的入度和出度都很快,因为都有指针,所以只需要遍历边列表即可
2.2 十字链表法示例
十字链表法示例

三、十字链表法C语言定义

十字链表法C语言定义
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、 图的定义和术语1、 图按照无方向和有方向分为“无向图”和“有向图” 无向图是由顶点和边构成,有向图是由顶...
    Qi0907阅读 7,851评论 0 1
  • 在数据结构中图算是个较为难理解的结构形式了。 大致我们可以分为两个大类:1、通过数组实现2、通过链表实现 而链表的...
    飞扬code阅读 11,381评论 0 3
  • 大部分内容来自于《大话数据结构》,代码全部使用Swift实现。至于为什么抽风写这个?😊你懂的。 1.线性表 线性表...
    一剑孤城阅读 81,984评论 12 111
  • 图 1 所示为存储 V1、V2、V3、V4 的图结构,从图中可以清楚的看出数据之间具有的"多对多"关系。 与链表不...
    hadoop_a9bb阅读 5,764评论 0 0
  • 邻接矩阵 考虑到图是由顶点和边或弧两部分组成。合在一起比较困难,那就很自然地考虑到分两个结构来分别存储。顶点不分大...
    Joker_King阅读 3,465评论 1 0