注册 登录
编程论坛 数据结构与算法

算法问题,20分

qq8801103 发布于 2010-05-03 12:30, 644 次点击
有一个a[n][n]三对角矩阵,将其三条对角线上的元素存于数组b[3n-2],使得b[k]=a[i][j];用i j表示k的下标变换公式
2 回复
#2
wsj30002010-05-03 13:30
-1 0 1 2 3 4 j
0 * @ @ * * *
1 * @ @ @ * *
2 * * @ @ @ *
3 * * * @ @ @
4 * * * * @ @
i

如图假设存在,a[][-1]这一列,则得:
k = ((i*3 + (j+2)-j) -1) -1 = i*2+j;
因为i,j不可能为-1,或者超过数组范围,所以这个公式是完全实用的。
我测试是对的,请您自行测试。
#3
hmrit2010-05-05 00:04
上个学员就是对。。。
1