2019春数据结构A卷答案

发布 2022-09-10 06:10:28 阅读 4207

一、 单项选择题:1-20小题,每小题2分,共40分。在每小题给出的四个选项中,请选出一项最符合题目要求的选项。

1. d 2. a

3. d 4. d

5. c6. b

7. b8. a

9. d 10. d

11. c12. b

13. b14. a

15. a16. d

17. d18. b

19. a20. c

二、 简答题。21-23小题。共35分。

21. (8分)答:哈夫曼树(略)构造成功5分,编码正确3分。

22. (18分)

3)关键路径为0—>1245,长度为3+4+2+4=13.

23. (9分)答: (1)

构造的散列表如下:(7分)

评分说明】所画的散列表长度正确(长度为10,下标从0到9),给1分。填写关键字正确,每个给1分。考生可以不写出计算过程。若解答部分正确,酌情给分。

2)查找成功的平均查找长度:(2分)

因为查找长度为1的关键字有4个,查找长度为2的关键字有1个,查找长度为3的关键字有2个,所以查找成功的平均查找长度:

asl成功=(1次×2+2次×1+3次×2+4*1)/7=2(2分)

各位置对应的探查次数如下表所示:

评分说明】若分别采用公式(为装填因子):

和。计算查找成功,且计算正确,可共给2分。若解答部分正确,酌情给分。

三、 算法设计题。24-25小题。共25分。每题要求:

24. (12分)给定有m个整数的递增有序数组a[m]和有n个整数的递减有序数组b[n],试写出算法,将数组a和b归并为递增有序数组c[m+n] (要求算法的时间复杂度为o(m+n))。

答:(1)描述算法的基本设计思想(3分)

把b[n]逆置,然后两个递增有序数组归并成c数组。

2)描述算法的详细实现步骤(4分)略。

3)根据设计思想和实现步骤,采用c语言描述算法,关键处请给出注释(5分)略。

题目分析]数组a和b的元素分别有序,欲将两数组合并到c数组,使c仍有序,应将a和b拷贝到c,只要注意a和b数组指针的使用,以及正确处理一数组读完数据后将另一数组余下元素复制到c中即可。

void union(int a,b,c,m,n)

//整型数组a和b各有m和n个元素,前者递增有序,后者递减有序,本算法将a和b归并为递增有序的数组c。

算法结束。25. (13分)设含有n个元素的线性表a=(a1, a2, a3,…,an-1, an),用带头结点的单链表表示。

试编写一个算法,对a进行调整,使得所有偶数项排在奇数项之前,即:当n为偶数时,a=(a2,a4,…,an,a1,a3,…,an-1);当n为奇数时,a=(a2,a4,…,an-1,a1,a3,…,an),并分析算法的时间复杂度。

答:1)描述算法的基本设计思想(3分)

设置遍历指针p和计数器j,以及指向偶数项表尾的指针。将偶数项从原表中删除,插在偶数项表尾。

2)描述算法的详细实现步骤(4分)略。

3)根据设计思想和实现步骤,采用c语言描述算法,关键处请给出注释(5分) 略。

4)算法时间复杂度:o(n).(1分)

数据结构试题 A卷2019 答案

2012 2013学年第一学期期末考试。数据结构 试题a答案。一 选择 每空2分,共30分 bcdbd bccbb cabbc 二 1.答 1 应选择链式存储结构。它可动态申请内存空间,不受表长度 即表中元素个数 的影响,插入 删除时间复杂度为o 1 2 应选择顺序存储结构。顺序表可随机存取,时间复...

2019数据结构A卷

数据结构 试卷a 1.算法的时间复杂度取决于 问题的规模 待处理数据的初态和 的长短。2 从逻辑上可以把数据结构分为 两大类。动态结构 静态结构 顺序结构 链式结构 线性结构 非线性结构 初等结构 构造型结构。3.对于栈操作数据的原则是。先进先出 后进先出后进后出不分顺序。4.一个栈的输入序列为12...

北大15春《数据结构》作业答案答案

作业id 82376 以下哪个算法的时间复杂度表示是最慢的?b 第一章 a.a.o 1 b.b.o log2n c.c.o n d.d.o n 2 2.在一个线性表中,假设第一个元素a1的存储地址是20,每个元素占用四个存储单元,则第8个数据元素a8的地址是 c 第二章 a.a.42 b.b.28 ...