在 C 中用于稀疏动态矩阵的最合适的数据结构是什么。我知道耶鲁格式,但它适用于静态矩阵。我需要能够在其中添加行列和值。
问问题
1144 次
2 回答
3
一般来说,一个链表数组。如果大多数操作是基于行的,则每个列表代表一行,否则,每个列表代表一列。你可以在这里获得更多信息
typedef struct matrix {
node** rowList; // rowList is a pointer to the array of rows
node** columnList; // column list is a pointer to the array of columns.
int rows, columns; // store the number of rows and columns of the matrix
} matrix
typedef struct node {
int row, column,
double value;
struct node* rowPtr;
struct node* colPtr;
} node;
于 2013-02-20T09:10:31.047 回答
0
一个哈希表。
示例:键可以是 row<<16|col
.
于 2013-02-20T09:10:21.157 回答