数据结构,链表,数据结构1695: 数据结构-采用十字链表存储的稀疏矩阵题解

一沫阳光 算法基础篇 85 0
不断提升技能,才能在职场中立于不败之地!全网最全C++题库,助您成为编程领域的佼佼者。
当矩阵的非零元个数和位置在操作过程中变化较大时,就不宜采用顺序存储的结构来表示三元组的线性表了,因此,在这种情况下,采用链式存储结构表示三元组更为恰当,十字链表就是能够实现这样功能的一种数据结构,给出一个稀疏矩阵,请将其存储到一个十字链表中,并将存储完毕的矩阵输出。

当矩阵的非零元个数和位置在操作过程中变化较大时,就不宜采用顺序存储的结构来表示三元组的线性表了。因此,在这种情况下,采用链式存储结构表示三元组更为恰当。十字链表就是能够实现这样功能的一种数据结构。 在十字链表中,每个非零元可以用一个包含5个域的结点表示。其中i、j和e这3个域分别表示该非零元所在的行、列和非零元的值,向右域right用来链接同一行中下一个非零元,而向下域down用来链接同一列中下一个非零元。同一行的非零元通过right域链接成一个线性链表,同一列的非零元通过down域链接成一个线性链表。每个非零元既是某个行链表中的一个结点,又是某个列链表中的一个结点,整个矩阵通过这样的结构形成了一个十字交叉的链表。 稀疏矩阵的十字链表类型可以描述如下: 下面是建立稀疏矩阵十字链表的算法描述: 给出一个稀疏矩阵,请将其存储到一个十字链表中,并将存储完毕的矩阵输出。

数据结构,链表,数据结构1695: 数据结构-采用十字链表存储的稀疏矩阵题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
全网最全C++题库,助您挑战自我,突破极限,成为编程领域的佼佼者!

标签: 数据结构 链表 数据结构1695: 数据结构-采用十字链表存储的稀疏矩阵题解