前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >5.2.3 十字链表

5.2.3 十字链表

作者头像
week
发布于 2018-08-24 07:36:38
发布于 2018-08-24 07:36:38
54200
代码可运行
举报
文章被收录于专栏:用户画像用户画像
运行总次数:0
代码可运行

十字链表是有向图的一种链式存储结构。在十字链表中,对应于有向图中的每条弧有一个结点,对应于每个顶点也有一个结点,这些结点的结构如下:

弧结点

taivex

headvex

hlink

tlink

info

顶点结点

data

firstin

firstout

弧结点中有5个域:

其中尾域(tailvex)和头域(headVex)分别指示弧尾和弧头这两个顶点在图中的位置,

链域hlink指向弧头相同的弧在同一链表上,弧头相同的弧也在同一链表上。

顶点结点中有3个域:data域中存放顶点相关的数据信息,如顶点名称,firstin和firstout两个域分别指向以该顶点为弧头和弧尾的第一个弧结点。

注意,顶点结点之间是顺序存储。

图的十字链表存储结构定义如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#define MaxVertexNum 100//顶点数目的最大值

typedef struct ArcNode{//边表结点
    int tailvex,headVex;//该弧的头尾结点
    struct ArcNode *hlink,*tlink;//分别指向弧头相同和弧尾相同的结点
    InforType info;//网的边权值 
}ArcNode;

typedef struct VNode{//顶点表结点
   VertextType data;//顶点信息
   ArcNode *firstin,*firstout;//指向第一条入弧和出弧
}VNode,AdjList[MaxVertexNum];

typedef struct{
   AdjList vertices;//邻接表
   int vexnum ,arcnum;//图的顶点数和弧数
}ALGraph;//ALGraph 是以邻接表存储的图类型

在十字链表中,既容易找到vi为尾的弧,也容易找到vi为头的弧,因而容易求得顶点的入度和出度。

图的十字链表表示不是唯一的,但一个实际链表表示确定一个图。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年09月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
图的顺序存储结构
使用图结构表示的数据元素之间虽然具有“多对多”的关系,但是同样可以采用顺序存储,也就是使用数组有效地存储图。 使用数组存储图时,需要使用两个数组,一个数组存放图中顶点本身的数据(一维数组),另外一个数组用于存储各顶点之间的关系(二维数组)。
zhangjiqun
2024/12/14
700
图的顺序存储结构
邻接表
邻接矩阵是不错的存储结构,但是我们发现,对于边数相对于顶点较少的图,这种结构是存在对存储空间的极大浪费的
大忽悠爱学习
2021/03/23
6320
邻接表
图及其应用
对于图中每个顶点 vi,把所有邻接于 vi的顶点(对有向图是将从vi出发的弧的弧头顶点链接在一起)链接成一个带头结点的单链表,将所有头结点顺序存储在一个一维数组中。 例:下面左图G2对应的邻接表如右边所示。
亦小河
2022/11/21
7020
图及其应用
图的遍历 - 数据结构
图的遍历是指从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次。图的遍历操作和树的遍历操作功能相似。图的遍历是图的一种基本操作,图的其它算法如求解图的连通性问题,拓扑排序,求关键路径等都是建立在遍历算法的基础之上。
黄规速
2022/04/14
5190
图的遍历 - 数据结构
图(总目录)
废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:图(总目录)
废江_小江
2022/09/05
2150
图(总目录)
6-2 邻接表存储图的广度优先遍历 (20 分)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
韩旭051
2019/12/03
2.9K0
地图导航的幕后英雄:图论如何改变出行?—全程动画可视化数据结构算法之图算法题目试炼
盛透侧视攻城狮
2025/03/24
730
地图导航的幕后英雄:图论如何改变出行?—全程动画可视化数据结构算法之图算法题目试炼
地图导航的幕后英雄:图论如何改变出行?—全程动画可视化数据结构算法之图
盛透侧视攻城狮
2025/03/17
930
地图导航的幕后英雄:图论如何改变出行?—全程动画可视化数据结构算法之图
数据结构与算法 - 图的邻接表 (思想以及实现方式)
PS:邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。图的邻接表储存方式相对于邻接矩阵比较节约空间,对于邻接矩阵需要分别把顶点和边(顶点之间的关系)用一维数组和二维数组储存起来。而邻接表则是把顶点按照顺序储存到一维数组中,然后再通过链式方式,把有关系的顶点下标链接到后方,咱们先不考虑权重问题,结构体定义简单一点,当然加上权值也不难。下方看图解释。 邻接表 有向图 无向图 逆邻接表 有
cMusketeer
2019/02/27
3.9K0
PTA 邻接表存储图的广度优先遍历(20 分)
该文讲述了如何利用邻接表存储图,并使用广度优先搜索算法对图进行遍历。文章首先介绍了邻接表存储图的基本概念,然后定义了广度优先搜索算法的实现。最后,通过一个具体的例子展示了如何使用邻接表存储图和广度优先搜索算法进行图的遍历。
Kindear
2017/12/29
2.9K1
PTA 邻接表存储图的广度优先遍历(20 分)
数据结构——图
设图 A = (V, E) 有 n 个顶点,则图的邻接矩阵是一个二维数组 A.Edgen,定义为:
ruochen
2021/06/29
8390
数据结构——图
5.2.2 邻接表法
当一个图为稀疏图时,使用邻接矩阵表示法显然要浪费大量的存储空间。而图的邻接表示法结合了顺序存储和链式存储方法,大大减少了这种不必要的浪费。
week
2018/08/24
7550
5.2.4 邻接多重表
在邻接表中,容易求得顶点和边的各种信息,但在邻接表中求两个顶点之间是否存在边,或需要对边执行删除等操作时,需要分别在两个顶点的边表中遍历,效率较低。
week
2018/08/24
9460
数据结构与算法-图的存储结构
设G=(V,E)是n个顶点的图,则G的邻接矩阵用n阶方阵G表示,若(Vi ,Vj )或< Vi ,Vj >属于E(G),则G[i][j]为1,否则为0。
越陌度阡
2020/11/26
1.8K0
数据结构与算法-图的存储结构
数据结构与算法——图论基础与图存储结构
由于后续更新「面试专场」的好几篇文章都涉及到 图 这种数据结构,因此打算先普及一下 图 的相关理论支持,如果后面的相关内容有些点不太容易理解,可以查阅此篇文章。本文不建议一口气阅读完毕,可以先浏览一遍,在后续有需要的时候进行查阅即可。
五分钟学算法
2019/05/06
5560
数据结构与算法——图论基础与图存储结构
图的存储结构
废话不多说,上来撸干货。 我们知道,实现图共有两种常用的方法:邻接矩阵、邻接表法。接下来我们就来一一介绍这两种方法。 实际上,图的存储结构有些复杂,为了方便读者理解,也为了方便笔者的写作,这部分的篇幅会长一些,稍有些啰嗦,还望见谅。
roobtyan
2019/02/21
1.1K0
图的存储结构
数据结构算法整理-06-图
V0与V1、V2、V3都有边,因此第0行的1、2、3位置处置1。 Vi与Vj有边,则第i行的第j位置处置1。
devi
2021/08/18
2360
【数据结构——图】图的邻接矩阵和邻接表的存储(头歌实践教学平台习题)【合集】
Rossy Yan
2024/12/24
1460
【数据结构——图】图的邻接矩阵和邻接表的存储(头歌实践教学平台习题)【合集】
7.2 图的存储结构
1、用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。
小林C语言
2020/12/12
6160
图(Graph)的常用代码集合
图的相关概念请查阅离散数学图这一章或者数据结构中对图的介绍。代码来自课本。 /*Graph存储结构*/ //邻接矩阵表示法 #define MAX_VERTEX_NUM 20 /*最多顶点个数*/ #define INFINITY 32768 /*表示极大值,即∞*/ /*图的种类:DG表示有向图,DN表示有向网,DUG表示无向图,UDN表示无向网*/ typedef enum {DG, DN, UDG, UDN} GraphKind; /*枚举类型*/ typedef char Ve
Steve Wang
2018/02/05
1.3K0
推荐阅读
相关推荐
图的顺序存储结构
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文