知识大全 数据结构考研分类复习真题 第五章 答案[28]
Posted 知
篇首语:老骥伏枥,志在千里;烈士暮年,壮心不已。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第五章 答案[28]相关的知识,希望对你有一定的参考价值。
( )H(A(a a ) B(b ) C(c c ) x)
HEAD(TAIL(HEAD(H)))=a
( )略
五 算法设计题
[题目分析]本题是在向量D内插入元素问题 首先要查找插入位置 数据x插入到第i个数据组的末尾 即是第i+ 个数据组的开始 而第i( ≤i≤n)个数据组的首地址由数组s(即数组元素s[i])给出 其次 数据x插入后 还要维护数组s 以保持空间区D和数组s的正确的相互关系
void Insert(int s[] datatype D[] x int i m) //在m个元素的D数据区的第i个数据组末尾 插入新数据x 第i个数据组的首址由数组s给出 {if(i<1|| i>n){printf( 参数错误 ) exit(0) } if(i==n) D[m]=x // 在第n个数据组末尾插入元素 else{for(j=m ;j>=s[i+ ];j )D[j+ ]=D[j]; // 第i+1个数据组及以后元素后移 D[s[i+ ]]=x; // 将新数据x插入 for(j=i+ ;j<=n;j++) s[j]++; // 维护空间区D和数组s的的关系 //结束元素插入 m++; //空间区D的数据元素个数增 // 算法Insert结束
[算法讨论] 数据在空间区从下标 开始 最后一个元素的下标是m 设空间区容量足够大 未考虑空间溢出问题 数组s随机存数 而向量D数据插入 引起数组元素移动 时间复杂度是O(n)
cha138/Article/program/sjjg/201311/23037相关参考
第五章 数组和广义表答案 一选择题 BLJCICBBAHCEAFBEABBBBBABBACDCDFCDCACA 二判断题 ×√√×××√××××√√√ 部分答案解释如下 错误
.这是一个递归调用问题运行结果为DBHEAIFJCKGL ()FOR循环中每次执行PerfectShuffle(AN)和CompareExchange(AN)的结果 第次A[]=[] A[]
.() () ()i=j=即A[]  
()略 ()求广义表原子个数的递归模型如下 f(p)= PROCNumber(p:glist;VARn:integer) VARm:integer; n:=; IFp<>N
深度为长度为 ()略 ()表的长度为深度为 ()head(tail(head(head(head(tail(tail(tail(tail(A))))))))) 共享结构广义表A=(((bc
Head(Tail(Head(Head(L)))) Head(Head(Head(Tail(Head(Tail(L)))))) 类似本题的另外叙述的几个题解答如下 ()head(head(t
head(tail(head(tail(H)))) (b) (xyz) (de) GetHead(GetHead(GetTail(L))) 本算法中首先数组b中元素以逆置顺序放入d数组中
.每个元素个二进制位主存字长位故每个元素占个字长行下标可平移至到 () () ()s+ ()s+ . 公式 +L(
.错误有以下几处 ()过程参数没有类型说明()出错条件判断缺少OR(i+k>last+) ()删除元素时FOR循环应正向不应用反向DOWNTO()count没定义 低效体现在两处 (
公式LOC(aijk)=LOC(a)+[v*v*(ic)+v*(jc)+(kc)]*l(l为每个元素所占单元数) 第行第列 ()()() i(i)/+j(<=ij<