十套数据结构试题答案_第1页
十套数据结构试题答案_第2页
十套数据结构试题答案_第3页
十套数据结构试题答案_第4页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构试卷(一)参考答案一、选择题(每题2 分,共 20 分)12345678910二、填空题(每空1 分,共 26 分)1. 正确性易读性强壮性高效率2. O(n)3. 9 3 34. -1 34X*+2Y*3/-5. 2n 1 16. e 2e7. 有向无回路8. n(1)/2 n(1)9. (12,40)()( 74)(23,55 ,63)10. 增加 111. O(2n) O( 2n)12. 归并三、计算题(每题6 分,共 24 分)1. 线性表为:(78,50,40,60,34, 90)011101010111011101012. 邻接矩阵:01110邻接表如图 11 所示:图 1

2、13. 用克鲁斯卡尔算法得到的最小生成树为:(1,2)3,(4,6)4,(1,3)5,(1,4)8,(2,5)10,(4,7)204. 见图 12442222244545458832图 123 584四、读算法(每题7 分,共 14 分)1. ( 1)查询链表的尾结点( 2)将第一个结点链接到链表的尾部,作为新的尾结点( 3)返回的线性表为( a23, 1)2. 递归地后序遍历链式存储的二叉树。五、法填空(每空2 分,共 8 分)>>六、编写算法( 8 分)(* x)0; *为计数器() (>); >,出循环时 i 中的值即为x 结点个数i;数据结构试卷(二)参考答案一

3、、选择题12345678二、填空题1. 构造一个好的函数,确定解决冲突的方法2. ,3. 有序4. O(n2) ,O(2n)5. N0-1 ,2N016. 27. (31 ,38,54,56,75, 80, 55,63)8. (1 ,3,4, 5,2) ,(1 , 3,2,4, 5)三、应用题1. (22 ,40,45,48,80, 78) , (40 ,45,48,80,22,78)2. > >> >> >3. 291*1+2*2+3*4+4*2)=25/94. 树的链式存储结构略,二叉树略5. (1 ,3) ,(1 ,2) ,(3 , 5) , (5 ,

4、6) , (6 , 4)6. 略四、算法设计题1. 设有一组初始记录关键字序列( K1, K2,),要求设计一个算法能够在 O(n) 的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于, 右半部分的每个关键字均大于等于。( r, s, t), , s;(i<j)(i<j rj>x) 1; (i<j) rij1; (i<j ri<x) 1; (i<j) rji1;ri;2. 设有两个集合 A 和集合 B,要求设计生成集合 B 的算法,其中集合 A、 B 和 C用链式存储结构表示。 ; *;(*)*p,*q,*t;(00>) (0&g

5、t;) (>>) ;(0) ( *)(); >>> ;数据结构试卷(三)参考答案一、选择题12345678910第 3 小题分析:首先用指针变量 q 指向结点 A的后继结点 B,然后将结点 B 的值复制到结点 A 中,最后删除结点 B。第 9 小题分析: 9 快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的 10 个数,而堆排序只需要在初始堆的基础上再进行 10 次筛选即可,每次筛选的时间复杂度为 O(2n) 。二、填空题1. 顺序存储结构、链式存储结构2. 9, 5013. 54. 出度,入度5. 06.7. 中序8. 79. O(1)10.

6、2, 2111. (5 ,16,71,23,72,94,73)12. (1 ,4, 3,2)13. 1, j14. (t) ,>第 8 小题分析:二分查找的过程可以用一棵二叉树来描述,该二叉树称为二叉判定树。 在有序表上进行二分查找时的查找长度不超过二叉判定树的高度 12n。三、计算题1AEBFGCNULLDHFKJ2、H(36)=367=1;H (22)=(1+1)7=2; .冲突H(15)=157=1;. 冲突H2(22)=(2+1)7=3;H(15)=(1+1)7=2;H(40)=407=5;H(63)=637=0;H(22)=22 7=1; . 冲突(1)01234 5 6633

7、6152240(2) 12 11 31.653、(8,9,4,3,6,1),10,(12,18,18)(1,6,4,3),8,(9),10,12,(18,18)1,(3,4,6),8,9,10,12,18,(18)1,3,(4,6),8,9,10,12,18,181,3, 4,6,8,9,10,12,18,18四、算法设计题1. 设计在单链表中删除值相同的多余结点的算法。; ; *; ( *)*p,*q,*s;(0>)(>0; )(>>) >> (q)>>2. 设计一个求结点 x 在二叉树中的双亲结点算法。 ; *,*; ;*q20; 000;(

8、 *, x)(0 0)(>) 1; ;(1)% 20; qr; (>); (>); ( * x)i;();(1; i< ) (qi->> qi->>) ;(0) (" xn"); (i<) ("">); (" ");数据结构试卷(四)参考答案一、选择题1C2D3 D4B5 C6A7B8 A9C10A二、填空题1. O(n2) ,O(2n)2. p>>> >>>3. 34. 215. 26. 50,517. 1, ()8. 1,9. (19

9、,18,16,20,30, 22)10. (16 ,18,19, 20, 32,22)11. Aij=112. 等于13.14. i=0, k三、计算题1LS 1 -> 1->1111-> 10e0 a1-> 1-> 10 b0 c0 d2(1) ;;(2) ;林转换为相应的二叉树;ABGCHDIEJFK3H(4)(5)=0(3)(6)(9)=2(8)=3(2)(7)=60451269 33 845627789四、算法设计题1. 设单链表中有仅三类字符的数据元素 ( 大写字母、数字和其它字符 ) ,要求利用原单链表中结点空间设计出三个单链表的算法,使每个单链表只包

10、含同类字符。; ; *; (*)*p; 000;(0)> >0;(>>='A' ><='Z') > ;(>>='0' ><='9') > ; > ;2. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法。 ; *,*; ; ( *)*p;(0) ;(>); (>);> >> >3. 在链式存储结构上建立一棵二叉排序树。n 10 ; *,*; ( * )(0)( *)(); >>>0;(>&

11、gt;) (>); (>);( *)i;(1<) (100);数据结构试卷(五)参考答案一、选择题1 A2 B3A4A5D6 B7 B8B9C10 C二、填空题1. 1+122. 可以随机访问到任一个顶点的简单链表3. i(1)/214. ,5. ,6. 8, 647. 出度,入度8. <2i < 219. ,r1j10.()/2 ,r>k三、应用题1.2. (1,5),(5,2),(5,3),(3,4)103. (1*1+2*2+3*4)/7=17/74. 1=7/6 ,2=4/3四、算法设计题1. 设计判断两个二叉树是否相同的算法。 ; *,*; ;(

12、*1 *2)(10 20) (1);(10 20 1->2->) (0);(1->2->)*(1->2->);2. 设计两个有序单链表的合并排序算法。(*)*0;(0 0)(><>)(0) ; > ;>(0) ; > ;>(0) > >数据结构试卷(六)参考答案一、选择题1D2 A3A4A5D6D7 B8A9C10 B11 C 12A 13 B 14D 15 B二、判断题1错 2对 3对 4对 5错6错 7对 8错 9对 10对三、填空题1. O(n)2. >> >3. (1 ,3,2,

13、 4,5)4. 15. 1296.7. >0>08. O(n2)9. O(2n) , O(n)10. 开放定址法,链地址法四、算法设计题1. 设计在顺序有序表中实现二分查找的算法。; ;( r , k)01;(<)()/2;(r) (1); (r>k) 1; 1;(0);2. 设计判断二叉树是否为二叉排序树的算法。327681; ; *,*; ( *)(0) (>); (>>)0; >(>);3. 在链式存储结构上设计直接插入排序算法( *)*s,*p,*q;t;(0 >0) ;(>0>)(>>) (>&

14、gt;>) ;(>); >> >> > >>>>数据结构试卷(七)参考答案一、选择题1B2 B3C4B5B6A7 C8C9B10 D二、判断题1对2对3对4对5对6对7对8错9错10错三、填空题1. >, >2. n(1) , n(1)/23. 24. 开放定址法,链地址法5. 146. 21,217. (12 ,24,35,27, 18, 26)8. (12 ,18,24,27, 35, 26)9. 510.i<j ri<, ri四、算法设计题1. 设计在链式结构上实现简单选择排序算法。( *)*p,*

15、q,*s;(0 >0) ;(; 0>)> ;(> 0>) (>>)> ;()> >> >2. 设计在顺序存储结构上实现求子串算法。( s , , , t )(s);(<1 >) ("");(1>) (""); (10; i<1) tji; tj= '0'3. 设计求结点在二叉排序树中层次的算法。0; ; *,*; ( * x)(0); (>) ;(>>x) (>); (>);数据结构试卷(八)参考答案一、选择题1C

16、 2C3C 4B5B6C 7B8C 9A10 A二、判断题1对 2错 3对 4错 5错6对 7对 8对 9对 10对三、填空题1. (49 ,13,27,50, 76, 38, 65,97)2. ( *)(), (>)3. >4. >, >5.6. 1, 167. 08. (13 ,27,38,50, 76, 49, 65,97)9. 110. 50四、算法设计题1. 设计一个在链式存储结构上统计二叉树中结点个数的算法。( * )(0); (>); (>);2. 设计一个算法将无向图的邻接矩阵转为对应邻接表的算法。 m; mm; 1 ; 1 *; 2 *;(

17、 g1 g2 ); *p;(0<1) g2i0;(0<1) (0<1)(g1ij1)( *)()>>i; gi;( *)()>>j; gj;数据结构试卷(九)参考答案一、选择题1A2A3A4C5D6D 7C8B9C10 A11 C 12C 13 D 14A 15 A二、填空题1. >, >2. 503. 14. 6, 85. 快速,堆6. 19/77.8. 69. (24 ,65,33,80, 70, 56, 48)10. 8三、判断题1错 2对 3对 4对 5错6错 7对 8对 9错 10对四、算法设计题1设计计算二叉树中所有结点值之和的

18、算法。( * )(0) > (>); (>);2设计将所有奇数移到所有偶数之前的算法。( r, s, t)s;(i<j)(i<j rj%20) 1;(i<j) rij1;(i<j ri%21) 1;(i<j) rji1;ri;3设计判断单链表中元素是否是递增的算法。( *)(0>0) (1)(> 0; >)(>>>) (0);(1);数据结构试卷(十)参考答案一、选择题1A2D3B4B5B6D7A8D9D 10C 11 B 12 D二、填空题1. 4, 102. O(2n) ,O(n2)3. n4. 1, 25. n(1)+16. >7. 线性结构,树型结构,图型结构8. O(n2) , O()9. 8/310. (38 , 13,27, 10, 65, 76,97)11. (10 , 13,27, 76, 65, 97,38)12. 12

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论