知识大全 数据结构考研分类复习真题 第五章 答案[31]

Posted 元素

篇首语:人老心不老,身穷志不穷。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第五章 答案[31]相关的知识,希望对你有一定的参考价值。

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

  void Translation(float *matrix int n)  //本算法对n×n的矩阵matrix 通过行变换 使其各行元素的平均值按递增排列   int i j k l   float sum min      //sum暂存各行元素之和  float *p *pi *pk;  for(i= ; i<n; i++)  sum= ; pk=matrix+i*n;  //pk指向矩阵各行第 个元素   for (j= ; j<n; j++)sum+=*(pk); pk++;  //求一行元素之和   *(p+i)=sum;           //将一行元素之和存入一维数组   //for i  for(i= ; i<n ; i++)    //用选择法对数组p进行排序  min=*(p+i); k=i;     //初始设第i行元素之和最小   for(j=i+ ;j<n;j++) if(p[j]<min) k=j; min=p[j];  //记新的最小值及行号   if(i!=k)            //若最小行不是当前行 要进行交换(行元素及行元素之和)  pk=matrix+n*k;   //pk指向第k行第 个元素   pi=matrix+n*i;   //pi指向第i行第 个元素   for(j= ;j<n;j++) //交换两行中对应元素   sum=*(pk+j); *(pk+j)=*(pi+j); *(pi+j)=sum;  sum=p[i]; p[i]=p[k]; p[k]=sum;  //交换一维数组中元素之和   //if  //for i  free(p); //释放p数组   // Translation

  [算法分析] 算法中使用选择法排序 比较次数较多 但数据交换(移动)较少 若用其它排序方法 虽可减少比较次数 但数据移动会增多 算法时间复杂度为O(n )

cha138/Article/program/sjjg/201311/23040

相关参考

知识大全 数据结构考研分类复习真题 第五章 答案[1]

  第五章 数组和广义表答案  一选择题  BLJCICBBAHCEAFBEABBBBBABBACDCDFCDCACA  二判断题  ×√√×××√××××√√√  部分答案解释如下  错误

知识大全 数据结构考研分类复习真题 第五章 答案[15]

  .这是一个递归调用问题运行结果为DBHEAIFJCKGL  ()FOR循环中每次执行PerfectShuffle(AN)和CompareExchange(AN)的结果  第次A[]=[]  A[]

知识大全 数据结构考研分类复习真题 第五章 答案[12]

  .()   ()    ()i=j=即A[]       

知识大全 数据结构考研分类复习真题 第五章 答案[43]

  ()略  ()求广义表原子个数的递归模型如下  f(p)=  PROCNumber(p:glist;VARn:integer)  VARm:integer;  n:=;  IFp<>N

知识大全 数据结构考研分类复习真题 第五章 答案[26]

  深度为长度为  ()略  ()表的长度为深度为  ()head(tail(head(head(head(tail(tail(tail(tail(A)))))))))  共享结构广义表A=(((bc

知识大全 数据结构考研分类复习真题 第五章 答案[24]

  Head(Tail(Head(Head(L))))  Head(Head(Head(Tail(Head(Tail(L))))))  类似本题的另外叙述的几个题解答如下  ()head(head(t

知识大全 数据结构考研分类复习真题 第五章 答案[6]

  head(tail(head(tail(H))))  (b)  (xyz)  (de)  GetHead(GetHead(GetTail(L)))  本算法中首先数组b中元素以逆置顺序放入d数组中

知识大全 数据结构考研分类复习真题 第五章 答案[11]

  .每个元素个二进制位主存字长位故每个元素占个字长行下标可平移至到  ()  ()  ()s+  ()s+  . 公式  +L(

知识大全 数据结构考研分类复习真题 第五章 答案[17]

  .错误有以下几处  ()过程参数没有类型说明()出错条件判断缺少OR(i+k>last+)  ()删除元素时FOR循环应正向不应用反向DOWNTO()count没定义  低效体现在两处  (

知识大全 数据结构考研分类复习真题 第五章 答案[3]

    公式LOC(aijk)=LOC(a)+[v*v*(ic)+v*(jc)+(kc)]*l(l为每个元素所占单元数)        第行第列  ()()()  i(i)/+j(<=ij<