8 特殊矩阵指值相同的元素或零元素在矩阵中的分布有一定规律,因此可以对
非零元素分配单元(对值相同元素只分配一个单元),将非零元素存储在向量中,元素的下标i和j和该元素在向量中的下标有一定规律,可以用简单公式表示,仍具有随机存取功能。而稀疏矩阵是指非零元素和矩阵容量相比很小(t<9 上三角矩阵第一行有n个元素,第i-1行有n-(i-1)+1个元素,第一行到第
i-1行是等腰梯形,而第i行上第j个元素(即aij)是第i行上第j-i+1个元素,故元素Aij在一维数组中的存储位置(下标k)为:
k=(n+(n-(i-1)+1))(i-1)/2+(j-i+1)=(2n-i+2)(i-1)/2+j-i+1
k=(n+1/2)i-i2/2+j-n,
则得f1(i)=(n+1/2)i-i2/2,f2(j)=j,c=-n。

10 主对角线上元素的坐标是i=j,副对角线上元素的坐标i和j有i+j=n+1的关

(1)i=j或i=n+1-j (1≤i,j≤n)
(2)非零元素分布在两条主、副对角线上,除对角线相交处一个元素(下称"中心元素")外,其余每行都有两个元素。主对角线上的元素,在向量B中存储的下标是k=2i-1(i=j, 1≤i,j≤n,1<=k<=2n-1)。
副对角线上的元素,在中心元素前,在向量B中存储的下标是k=2i(i<>j, 1≤i,j≤n/2);在中心元素后,其下标是k=2(i-1)(i<>j,n/2+1≤i,j≤n, 1<=k<=2n-1)。

11 [题目分析]题目中要求矩阵两行元素的平均值按递增顺序排序,由于每行元
素个数相等,按平均值排列与按每行元素之和排列是一个意思。所以应先求出各行元素之和,放入一维数组中,然后选择一种排序方法,对该数组进行排序,注意在排序时若有元素移动,则与之相应的行中各元素也必须做相应变动。

12 [算法分析] 算法中使用选择法排序,比较次数较多,但数据交换(移动)较少.
若用其它排序方法,虽可减少比较次数,但数据移动会增多.算法时间复杂度为O(n2).
[题目分析]我们用l代表最长平台的长度,用k指示最长平台在数组b中的起始位置(下标)。用j记住局部平台的起始位置,用i指示扫描b数组的下标,i从0开始,依次和后续元素比较,若局部平台长度(i-j)大于l时,则修改最长平台的长度k(l=i-j)和其在b中的起始位置(k=j),直到b数组结束,l即为所求。

13 [题目分析]本题的一种算法前面已讨论(请参见本章三、填空题38)。这里
给出另一中解法。分析数的填法,是按"从右上到左下"的"蛇形",沿平行于副对角线的各条对角线上,将自然数从小到大填写。当从右上到左下时,坐标i增加,坐标j减小,当j减到小于0时结束,然后j从0开始增加,而i从当前值开始减少,到i<0时结束。然后继续如此循环。当过副对角线后,在i>n-1时,j=j+2,开始从左下向右上填数;而当j>n-1时i=i+2,开始从右上向左下的填数,直到n*n个数填完为止。