a1,1 a1,2
a2,1 a2,2 a2,3 0
a3,2 a3,3 a3,4
... ... ...
0 an-1,n-2 an-1,n-1 an-1,n
an,n-1 an,n
三對角矩陣指n階方陣的非零元素ai,j聚集在主對角線及其兩邊的兩條線上,即|i-j|≤1,其余位置均為0,如果使用二維數組進行存儲,則會浪費大量空間,對此可以使用一維數組將其壓縮存儲。
其中元素總數為:2+3*(n-2)+2=3n-2,則可以定義一個一維數組B[3n-2],則ai,j在B中的位置為k(注意k從0開始)
則在ai,j之前的元素個數為
第1行:2
第2行:3
第3行:3
...
第i-1行:3
第i行:j-i+1
則k=2+3*(i-2)+j-i+1=2i+j-3
若已知k,則ai,j為
i=(k+1)/3+1,(k+1:向右偏移一個單位;3:每行3個元素;+1:i從1開始)
j=k-2i+3(由k的計算公式可得)