[数据结构复习]稀疏矩阵

1.对于对称矩阵、上三角矩阵、下三角矩阵、带状矩阵等矩阵,可以用一维数组来存储有值的部分,分为行优先和列优先。


2.稀疏矩阵的表示

   1)  三元组表示   

        template  class<T>

        struct Trituple{

             int row,col;

            T  value;

        }

    


3.稀疏矩阵的快速转置算法

   实现统计好转置后各行非零元素在转置矩阵的三元组表中应存放的位置,形成两个辅助数组rowsize和rowstart,然后对稀疏矩阵的三元组表进行一趟扫描,依次检测各三元组。(而不是像转置普通矩阵那样写俩for循环)

与直接交换三元组的行列的那种方法相比的优势:那种方法在交换完之后还要进行重新排序。而这种方法可以借助两个辅助数组达到排序的效果。


4.稀疏矩阵相加的算法

   同样也不是俩for循环,而是比较各自的index。如果相同就相加,然后继续,如果a的index<b的index,那么把当前的a赋值到相加后的结果中,取a的下一个继续比较。


5.稀疏矩阵相乘的算法

   当顺序取到A[i][k]时,根据列号k,去找b.smArray中所有行号为k的三元组。为了最快速度找到,也要用到上述两个辅助数组。


6.稀疏矩阵的正交链表表示


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值