三元组稀疏矩阵表示-C语言数组与广义表结构

三元组表示的稀疏矩阵结构,挺适合用在非零元素少的大矩阵场景。代码写法清爽,核心结构只有两个,一个是单个非零元素的Triple,另一个是整个矩阵的TMatrix。你只需要维护一个数组,把这些三元组塞进去就行,操作起来比较直接。

数组版的稀疏矩阵,你要是常操作稀疏数据,这种方式挺省事的。Triple结构里用rowcol来标位置,value表示值,再配合个最大长度MAX_SIZE做限制,空间管理也比较清晰。

矩阵信息放在TMatrix结构里,里面有rncntn分别表示行数、列数和非零元素个数。你用数组data[MAX_SIZE]存放三元组就能搞定,data[0]通常留空备用。这种写法可移植性也不错,结构一眼就能看明白。

另外推荐你顺带看看相关操作,比如三元组加法和转置的实现,逻辑清晰,稀疏矩阵运算还挺方便。

如果你想更深入理解线性表结构,像线性表源码Java 链表版本也可以瞅瞅,思路上都挺通用。

,这套结构挺适合初学者练手,也方便你日后搞优化。如果你打算写个矩阵运算库,用它起步也不亏。

ppt 文件大小:682KB