当前位置:首页 > 经验 >

十字链表简单理解(十字链表的节点结构)

来源:原点资讯(www.yd166.com)时间:2022-11-04 00:17:04作者:YD166手机阅读>>

前面之前的数据结构知识,介绍了矩阵的三元组表示法,当然之前只介绍矩阵运算中的转置,至于乘法运算以及加减运算,之前没有介绍,但是三元组表示法缺陷不小,比如当矩阵运算的非零元素个数和位置在操作工程中变化较大时,如果还是用三元组表表示法来计算,并且还要保持三元组表以行序为主的方式存储,那么可能要大量移动数据元素,这时三元组表表示法实用性就欠缺了,今天暂时只介绍一下稀疏矩阵的十字链表存储方式,当然不稀疏也行,该方式的灵活性就大大增强了,它能灵活插入新产生的非零数据元素,并且也能灵活删除因运算变为0的新元素,所以说掌握矩阵十字链表存储方式,还是很不错的。下下篇在介绍广义表之前,会举一个用十字链表进行矩阵的乘法或加法运算。

十字链表简单理解,十字链表的节点结构(1)

一、矩阵十字链表:

既然是链表,那么肯定得有结点,结点肯定以结构体方式定义,那么该结构体应该有哪些成员呢?描述一个矩阵中的非零元素,那么肯定需要位置信息,数据元素大小,因此就相当于前面三元组表表示法,那么包含该非零数据元素的行、列、以及该非零数据元素的大小,以及两个指针成员,一个用于连接同一行的非零数据元素,一个用于连接同一列非零数据元素。先看一下示意图吧:

十字链表简单理解,十字链表的节点结构(2)

十字链表示意图

我们可以声明该结构体类型如下:

十字链表简单理解,十字链表的节点结构(3)

十字链表结点声明

上面就是结点结构体的定义。

我们下面就需要定义一个矩阵的具体信息结构体,上面示意图可以看出,矩阵中每一行每一列都需要一个头指针,根据每个头指针可以扫描遍历每个非零数据元素,因此对于有m行的矩阵,我们需要定义m个行头指针,对于n列的矩阵,我们需要n个列头指针,而且还需要矩阵大小的信息,包括行数列数,以及非零数据元素个数,因此得到下面结构体,如下:

十字链表简单理解,十字链表的节点结构(4)

首页 123下一页

栏目热文

单链表怎么找到上一个节点(链表的节点图解)

单链表怎么找到上一个节点(链表的节点图解)

给定一个单链表,判断其中是否有环,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。首先,关于单链...

2022-11-04 00:32:16查看全文 >>

单链表如何查找中间结点(如何求链表中的中间节点)

单链表如何查找中间结点(如何求链表中的中间节点)

部分数据结构请看常见Java问题及笔试题(二十一),这里只列出主要方法与测试用例!!!寻找单链表的中间节点,最简单的思路...

2022-11-04 00:14:56查看全文 >>

单链表中间节点(单链表中各节点是否连续)

单链表中间节点(单链表中各节点是否连续)

单链表是一种线性数据结构,与顺序表占据一段连续的内存空间不同,链表是用一组地址任意的存储单元来存储数据,每个存储单元分散...

2022-11-04 00:25:29查看全文 >>

单链表查找特定值(单链表的查找并计数)

单链表查找特定值(单链表的查找并计数)

数组中取值可以根据下标获取指定的值,但链表不行,链表中逻辑相邻的元素,在物理上不一定是相邻的。链表中取值只能从首元结点开...

2022-11-04 00:04:49查看全文 >>

如何确认链表节点(链表如何判断是否为尾节点)

如何确认链表节点(链表如何判断是否为尾节点)

数据结构有顺序存储和链式存储两种存储方式。顺序存储的数组可以使用下标随机访问,但插入操作比较麻烦,且需要整块的内存,另外...

2022-11-04 00:43:50查看全文 >>

单链表增加节点(单链表删除节点)

单链表增加节点(单链表删除节点)

单链表中增加节点,除了增加结点本身的数据域和指针域,还需要更改前、后结点的指针域。一个简单的实例代码:#include ...

2022-11-04 00:20:14查看全文 >>

单链表的创建图解(单链表的创建步骤)

单链表的创建图解(单链表的创建步骤)

创建单链表除了使用前插法,还可以使用后插法。后插法通过将新结点逐个插入到链表的尾部来创建链表。如下图所示根据上图所示,可...

2022-11-04 00:18:55查看全文 >>

单链表按序号查找(单链表按值查找操作)

单链表按序号查找(单链表按值查找操作)

严蔚敏《数据结构》笔记(1-4章)由于上传限制只能分章节上传,并且图片和公式可能无法上传出现乱码影响阅读。需要完整资料的...

2022-11-04 00:44:17查看全文 >>

单链表查找图示(三链表结构图解)

单链表查找图示(三链表结构图解)

电子计算机的本质是对输入(input)的数据进行处理(processing),对处理的结果形成输出(output)。程序...

2022-11-04 00:06:55查看全文 >>

单链表尾指针示意图(链表的节点图解)

单链表尾指针示意图(链表的节点图解)

作者:少年吉来源:微信公众号: 数据科学CLUB出处:https://mp.weixin.qq.com/s?__biz=...

2022-11-04 00:10:17查看全文 >>

文档排行