数据结构各章作业题目

内容发布更新时间 : 2024/12/28 19:30:07星期一 下面是文章的全部内容请认真阅读。

第九章作业 一、选择题

30. 顺序查找算法适用于( )。

A. 线性表 B. 查找树 C. 查找网 31. 顺序查找法适用于线性表的( )。

A.散列存储 B.压缩存储 C. 索引存储

32. 采用顺序查找方式查找长度为n的顺序表时,平均查找长度为( )

D. 连通图 D. 顺序或链接存储

A. n B. n/2 C. (n?1)/2 D. (n?1)/2

33. 如果有5个关键吗{a,b,c,d,e}放在顺序表中,他们的查找概率分别为{0.35,0.25,0.20,.015,0.05},可

使平均查找长度达到最小的存放方式是( )。 A. d,a,b,c,e B. e,d,c,b,a C. a,b,c,d,e D. a,c,e,d,b

34. 对于长度为n的有序单链表,若查找每个元素的概率相等,则顺序查找表中任一元素的查找成功

的平均查找长度为( ) A. n/4 B. n/2 C. (n?1)/2 D. (n?1)/2 35. 对线性表进行折半查找时,要求线性表必须( )

A. 以顺序方式存储 B. 以链接方式存储 C. 以顺序方式存储,且结点按关键吗有序排列 D. 以链接方式存储,且结点按关键吗有序排列 36. 采用折半查找法查找长度为n的有序顺序表时,平均查找长度为( )

A. O(n) B. O(log2n) C. O(n) D. O(nlogn) 37. 对于长度为18的有序顺序表,若采用折半查找,则查找第15个元素的查找次数为( )。

A. 3 B.4 C. 5 D. 6 38. 已知有序顺序表(13,18,24,35,47,50,62,83,90,115,134),若采用折半查找法查找值为18的元素时,查

找成功的数据比较次数为( )。 A. 1 B.2 C. 3 D. 4 39. 使用散列法时确定元素存储地址的依据是( )。

A. 元素的序号 B. 元素个数 C. 关键吗 D. 非码属性 40. 设一个散列表中有n个元素,用散列法进行查找的平均查找长度是( )。

A. O(1) B. O(n) C. O(log2n) D. O(n) 41. 使用散列函数将元素的关键吗映射为散列地址时,常会发生冲突。此时的冲突是指( )。

A. 两个元素具有相同的序号 B. 两个元素的关键码不同,而非关键码相同 C. 不同关键码对应到相同的存储地址 D. 装载因子过大,数据元素过多 42. 计算出的地址分布最均匀的散列函数是( )。

A. 数值分析法 B. 除留余数法 C. 平方取中法 D. 折叠法 43. 将10个元素散列到大小为100000个元素的散列表中,( )产生冲突。

A. 一定会 B. 一定不会 C. 仍可能会 D. 以上都不对 44. 采用线性探测法解决冲突时计算出的一系列“下一个空位”( )。

A. 必须大于等于原散列地址 B. 必须小于等于原散列地址 C. 可以大于或小于但不等于原散列地址 D. 对地址在何处没有限制 45. 包含有4个结点的元素值互不相同的二叉查找树有( )棵。

A. 4 B. 6 C. 10 D. 14

46. 利用逐个数据插入的方法建立序列{35,45,25,55,50,10,15,30,40,20}对应的二叉查找树后,查找元素

20需要进行( )次元素之间的比较。 A. 4 B. 5 C. 7 D. 10

47. 一颗高度为h的AVL树,若其每个非叶子结点的平衡因子都是0,则该树共有( )个结点。

2213

A. 2?1 B. 2

48. 高度为7的AVL树最少有( )个结点。

A. 12 B. 21 49. 高度为7的AVL树最多有( )个结点。 A. 63 B. 64 二、应用题

h?1h?1C. 2h?1?1 D. 2?1 D. 54 D. 127

hC. 33 C. 65

50. 设有一个关键码的输入序列{55,31,11,37,46,73,63},从空树开始构造AVL树,画出每加入一个新结

点时二叉树的形态。若发生不平衡,指明需做的平衡旋转的类型及平衡旋转的结果。

51. 分别画出在图1所示的AVL树中插入15、36后树的变化。如果有平衡化旋转,注明相关结点平

衡因子的变化(注意,15和36是各自独立插入到图1所示的AVL树中)。

1396112202427413843471821263140 图1

52. 已知含12个关键字的有序表及其相应的权值如下表,试按次优查找树的构造算法,画出由这12

个关键字构造所得的次优查找树,并计算它的PH值。

关键字 权值 A 8 B 2 C 3 D 4 E 9 F 3 G 2 H 6 I 7 J 1 K 1 L 4 53. 对于23题有序表及其相应的权值,试按次优查找树的构造算法并加适当调整,画出由这12个关

键字构造所得的次优查找树,并计算它的PH值。通过适当调整后得到的次优查找树是否更优? 54. 设哈希表HT[15],哈希函数为H(key)?key。用开放地址法解决冲突,对下列关键码序列12,23,45,57,20,03,78,31,15,36造表。采用线性探测法寻找下一个空位,画出相应的哈希表,并计算等概率下查找成功的平均查找长度和查找不成功的平均查找长度。

55. 设哈希表HT[15],哈希函数为H(key)?key。用开放地址法解决冲突,对下列关键码序列

12,23,45,57,20,03,78,31,15,36造表。采用再哈希法寻找下一个空位,再哈希函数为RH(key)?(7key)?1,寻找下一个空位置的公式为Hi?(Hi?1?RH(key)),H0?H(key)。画

出相应的哈希表,并计算等概率下查找成功的平均查找长度。

14

第十章作业 一、选择题

56. 排序算法的稳定性是指( )。

A. 经过排序后,能使值相同的数据保持原顺序中的相对位置不变 B. 经过排序后,能使值相同的数据保持原顺序中的绝对位置不变 C. 经过排序后,数据序列的存放数组的结构保持不变 D. 经过排序后,数据序列的存放数组的结构随之变化

57. 若要求在最坏情况下也能尽快地对序列进行稳定的排序,则应选( )。

A.起泡排序 B.快速排序 C. 归并排序 D. 堆排序

58. 每次从未排序的序列中取出一个元素与已排序的序列中的元素依次进行比较,然后把它插入到已

排序序列中的适当位置,此种排序方法叫做( ) A. 起泡排序 B. 直接插入排序 C. 简单选择排序 59. 对5个不同数据元素做直接插入排序,其数据比较次数最多是( )。

A. 8 B. 10 C. 15 60. 直接插入排序在最好情况下的时间复杂度是( )

D. 二路归并排序 D. 25

2A. O(log2n) B. O(n) C. O(nlog2n) D. O(n) 61. 每次直接比较两个元素,若出现逆序排列时就交换它们的位置,此种排序方法是( )

A. 堆排序 B. 选择排序 C. 起泡排序 D. 基数排序

62. 一个元素序列的排序码为{46,79,56,38,40,84},采用快速排序(以第一个元素为枢轴)得到的第一次

划分结果为( ) A. {38,46,79,56,40,84} B. {38,79,56,46,40,84} C. {40,38,46,79,56,84} D. {38,46,56,79,40,84} 63. 每次从待排序序列中挑选从一个最小或最大元素,吧它们交换到该序列的最前端,此种排序方法

是( )。 A. 起泡排序 B.直接插入排序 C. 简单选择排序 D. 二路归并排序 64. 堆是一种有用的数据结构。在以下排序码序列中小顶堆是( )。

A. {16,72,31,23,94,53} B.{94,53,31,72,16,53} C. {16,53,23,94,31,72} D. {16,31,23,94,53,72} 65. 向具有n个元素的堆中插入一个新元素的时间复杂度为( )。 A. O(1) B. O(n) C. O(log2n) 66. 从具有n个元素的堆中删除一个元素的时间复杂度为( )。

D. O(nlog2n)

A. O(1) B. O(n) C. O(log2n) D. O(nlog2n) 67. 在用二叉树实现的应用中,从任意结点出发到根的路径上所经过的结点序列是按其排序码有序的,

这样的树是( )。 A. 完全二叉树 B. AVL树 C. 堆 D. 二叉排序树 68. 下列排序算法中最坏情况下的时间代价不高于O(nlog2n)的是( )。

A. 插入排序 B. 归并排序 C. 快速排序 D. 希尔排序 69. 下列算法中不稳定的算法是( )。

A. 起泡排序 B. 直接插入排序 C. 基数排序 D. 快速排序 70. 以下不属于内排序方法的是( )。

A. 起泡排序 B. 拓扑排序 C. 基数排序 D. 快速排序 二、应用题

71. 设待排序的排序码序列为{12,2,16,30,28,10,16*,20,6,18},试写出使用希尔排序(增量为5,2,1)方法每

趟排序后的结果,并说明做了多少次排序码比较。

72. 设待排序的排序码序列为{38,07,72,12,43,65,62,88,31,27,15,54},试给出使用快速排序算法(以第一

15

个元素为枢轴)每一趟排序结束时的排序码状态。

73. 设待排序的排序码序列为{12,2,16,30,10,16*,15,6},试写出使用堆排序进行从小到大排序,每趟排

序后的结果。

74. 如果只想得到一个序列中第K个最小元素之前的部分排序序列,那么最好应采用哪种排序算法?

为什么?如由这样一个序列:57, 40, 38, 11, 13, 34, 48, 75, 25, 6, 19, 9, 7 得到其第3个最小元素之前的部分排序序列:6,7,9, 用你选用算法实现时,共执行多少次比较?

16

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi