我是使用稀疏矩阵的新手,但现在需要在我的工作中使用一个来节省空间。我了解以下矩阵:
10   0    0    0   -2    0
3    9    0    0    0    3
0    7    8    7    0    0
3    0    8    7    5    0
0    8    0    9    9    13
0    4    0    0    2   -1
可以用三个向量表示,如下所示:
[10 -2 3 9 3 7 8 7 3 8 7 5 8 9 9 13 3 2 -1] // nonzero_vals
[1 5 1 2 6 2 3 4 1 3 4 5 2 4 5 6 2 5 6] // col_indices
[1 3 6 9 13 17 20] // row_ptr (indices of values that start row)
我现在的问题是在 O(1) 时间内确定正确的值查找方程。例如,如果我想返回存储在位置 (2,2) 的矩阵值,我如何返回 9?另外,如果查找坐标未在稀疏矩阵中表示,我如何返回 0,也是在 O(1) 时间内?
感谢您提供的任何帮助。我敢肯定,对此有完善的方程式,但我找不到它们。