我自己的稀疏矩阵
2007-08-07 17:33
127 查看
求解跟图相关的问题时,经常用到矩阵。如果矩阵边比节点(n^2)少很多,可以考虑稀疏矩阵。
可以类似3元组表示法。开一个n个元素的指针数组,每个指针指向一边连续内存,这段连续内存里放的是[列号 边权]二元组,头部有DWORD值标识该列一共几个二元组。每一行按列号排好序,这样随机访问一个时,用二分查找,是O(log((k)(1/2)))的时间复杂度。
进一步优化:可以让每一列是一个hash_map,O(1)的时间复杂度了。但适用情况是k/n稍大一些,几千几万时,好一些。
可以类似3元组表示法。开一个n个元素的指针数组,每个指针指向一边连续内存,这段连续内存里放的是[列号 边权]二元组,头部有DWORD值标识该列一共几个二元组。每一行按列号排好序,这样随机访问一个时,用二分查找,是O(log((k)(1/2)))的时间复杂度。
进一步优化:可以让每一列是一个hash_map,O(1)的时间复杂度了。但适用情况是k/n稍大一些,几千几万时,好一些。
相关文章推荐
- 稀疏矩阵的基本操作
- 稀疏矩阵的压缩存储
- 稀疏表达:向量、矩阵与张量(中)
- 稀疏矩阵的表示和运算
- 矩阵的转化问题【行列互换】(稀疏矩阵)
- 稀疏矩阵转置
- 稀疏矩阵的三元组表示(ANSI C)
- 稀疏矩阵ADT_SeqTriple
- matlab中的sparse和full函数(稀疏矩阵和非稀疏矩阵之间的转换)
- 等距网格细化的单快拍稀疏矩阵的DOA估计
- 数据结构--数组--稀疏矩阵的建立
- matlab中的sparse和full函数(稀疏矩阵和非稀疏矩阵之间的转换)
- 稀疏矩阵存储格式总结+存储效率对比:COO,CSR,DIA,ELL,HYB
- 第九周 项目3-1 -建立稀疏矩阵三元组表示的算法库
- 第九周 项目3-2 两稀疏矩阵相加
- 第9周—项目3(2)两个稀疏矩阵相加的运算
- 第九周上机实践—项目3(1)—建立稀疏矩阵三元组表示的算法库
- 数据结构之——稀疏矩阵
- 第九周-项目3-稀疏矩阵的三元组表示的实现及应用
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(1)