我被要求编写一个程序,仅使用非零值重建矩阵。
我收到了一个示例输入:
2.4 0 5.6 0 0 11.5 1.3 5.4 5.6 1.3 0 0 0 5.4 0 0
它被重建为:
4 2 1 2.4 3 5.6 3 2 11.5 3 1.3 4 5.4 2 1 5.6 2 1.3 1 2 5.4 8
我理解第一个值4是节点数,最后一个值8是非零元素的总和。我也明白每行的第一个值是每行中非零元素的总和,这个值也用于向行添加额外的元素,例如在第二行中有3个非零值,所以第一个元素在row将为3,并且将有6个以下元素(3 + 3)。 我不明白为什么他们在第一排使用1& 3? 有人可以给出解释吗? 感谢