酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

设n×n的上三角矩阵a[0..n-1][0..n-1]已压缩到一维数组b[0..m]中,若按列为主序存储,则a[i][j]对应的b中存储位置k为 。

若按列为主序存储,上三角矩阵中第\(j\)列的前\(j\)行元素共有\(1 + 2 + \cdots + j = \frac{j(j + 1)}{2}\)个。 \(a[i][j]\)是第\(j\)列的第\(i + 1\)个元素(\(0\leq i \lt n\),\(0\leq j \lt n\))。 所以其在一维数组\(b\)中的位置\(k\)为: \[ \begin{align*} k&=\frac{j(j + 1)}{2} + i\\ \end{align*} \]

相关提问