主题:[讨论]稀疏矩阵的完全链表表示及其运算
一个好题和大家分享一下 想了很久有点思路但是具体实现遇到很多问题,怀疑算法有点错误,请高手出手分享一下代码.................
稀疏矩阵的每个结点包含down,right,row,col和value五个域。用单独一个结点表示一个非零项,并将所有结点连接在一起,形成两个循环链表。使得第一个表即行表,把所有结点按照行序(同一行内按列序)用right域链接起来。使得第二个表即列表,把所有结点按照列序(同一列内按行序)用down链接起来。这两个表共用一个头结点。另外,增加一个包含矩阵维数的结点。稀疏矩阵的这种存储表示称为完全链表表式。
实现一个完全链表系统进行稀疏矩阵运算,并分析下列操作函数的计算时间和额外存储空间的开销。
认识和掌握稀疏矩阵的完全链表表示;能够建立并运用这种存储结构
建立一个用户友好、菜单式系统进行下列操作,并使用合当的测试数据测试该系统。
(a) 读取一个稀疏矩阵建立其完全链表表示
(b) 输出一个稀疏矩阵的内容
(c) 删除一个稀疏矩阵
(d) 两个稀疏矩阵相加
(e) 两个稀疏矩阵相减
(f) 两个稀疏矩阵相乘
(g) 稀疏矩阵的转置
链表上的操作。