稀疏矩阵的三元组链表.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:21 大小:1.3MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

稀疏矩阵的三元组链表.ppt

稀疏矩阵的三元组链表.ppt

预览

免费试读已结束,剩余 11 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

5.1数组的基本概念相同之处是它们都是若干个相同数据类型的数据元素a0,a1,a2,...,a0-1构成的有限序列。不同之处是:(1)数组要求其元素占用一块地址连续的内存单元空间,而线性表无此要求;(2)线性表的元素是逻辑意义上不可再分的元素,而数组中的每个元素还可以是一个数组;(3)数组的操作主要是向某个下标的数组元素中存数据和取某个下标的数组元素,这和线性表的插入、删除操作不同。2.数组的实现机制3.数组抽象数据类型5.2动态数组源码:5.3特殊矩阵在这个下三角矩阵中,第i行恰有i个元素,元素总数为n(n+1)/2,这样就可将n2个数据元素压缩存储在n(n+1)/2个存储单元中。假设以一维数组va作为n阶对称矩阵A的压缩存储单元,k为一维数组va的下标序号,aij为n阶对称矩阵A中i行j列的数据元素(其中1≤i,j≤n),其数学映射关系为:a11a12…a1na11c…cca22…a2na21a22…c……………….………………cc…annan1an2…ann(a)上三角矩阵(b)下三角矩阵5.4稀疏矩阵例1:写出下图5.3所示稀疏矩阵的压缩存储形式。123456123456(1)三元组顺序表指用顺序表存储的三元组线性表。把三元组定义成顺序表的数据元素:structDataType{introw;//行号intcol;//列号ElemTypevalue;//元素值};17矩阵的转置运算是把矩阵中每个元素的行号值转为列号值,把列号值转为行号值。因此,一个稀疏矩阵的转置矩阵仍是稀疏矩阵。稀疏矩阵三元组顺序表的转置如下图所示,此转置算法的时间复杂度为O(dNum),其中dNum为稀疏矩阵的非零元个数。稀疏矩阵的三元组链表三元组链表中每个结点的数据域由稀疏矩阵非零元的行号、列号和元素值组成。稀疏矩阵三元组线性表的带头结点的三元组链表结构如图所示,其中头结点的行号域存储了稀疏矩阵的行数,列号域存储了稀疏矩阵的列数。行指针数组结构的三元组链表对于从某行进入后找某列元素的操作比较容易实现,但对于从某列进入后找某行元素的操作就不容易实现,为此又提出了三元组十字链表结构,结构如下:作业