数据结构期末复习习题
中序
7. 在一组记录的关键字为{46,79,56,38,40,84}, 利用快速排序的方法,以第1个记录为基准得到 的第一次划分结果为_________
40,38,46,56,79,84
8. 设n为3的倍数,分析以下算法的时间复杂度 void fun(int n) { int i, j, x, y; for(i=1; i<=n; i++) if(3*i<=n) for(j=3*i;j<=n;j++) { x++; y = 3*x+2; n(n 1) n/3 n n/3 } 2 1 = ( n 3 i + 1 ) = = O ( n ) } 6
D
28. 广义表((a,b,c,d))的表头是______,表尾是 _____ A. a B. ( ) C. (a,b,c,d) D. ((a,b,c,d))
C,B
29. 在对n个元素进行冒泡排序的过程中,最好 情况下的时间复杂度为 A. O(1) B. O(log2n) C. O(n2) D. O(n)
C
45. 对由n(n>=2)个权值均不同的字符构成的哈 夫曼树,关于该树的叙述中,错误的是_______ A. 该树一定是一棵完全二叉树 B. 该树中一定没有度为1的节点 C. 树中两个权值最小的节点一定是兄弟节点 D. 树中任一非叶子节点的权值一定不小于下一层 任一节点的权值
A
46. 已知一个长度为16的顺序表,其元素按关键 字有序排序,若采用折半查找法查找一个不存 在的元素,则比较的次数最多是 A. 4 B. 5 C. 6 D. 7
B
32. 无向图的邻接矩阵是一个____ A. 对称矩阵 B. 零矩阵 C. 上三角矩阵 D. 对角矩阵
A
33. 对线性表进行二分查找时,要求线性表必须 _______ A. 以顺序方式存储 B. 以链式方式存储 C. 以顺序方式存储且节点按关键字有序排序 D. 以链表方式存储且节点按关键字有序排序
n=7,0.7 = n/m,因此m=10 H(7) = 0 H(8) = 3 H(30) = 6 H(11) = 5 H(18) = 5 d1 = 6,d2 = 7 H(9) =6 d1 = 7,d2 = 8 H(14) = 0 d1 = 1
0
1
2
3
4
5
6
7
8
9
7 1
14 2
8 1
11 1
30 1
D
30. 有一种排序方法,它每趟都从未排序序列中 挑选出最小元素,并将其放入已排序序列的一 端,该排序方法是_______ A. 希尔排序 B. 归并排序 C. 直接插入排序 D. 简单选择排序
D
31. 设高度为h(根节点为第1层)的二叉树上只有 度为0和度为2的节点,则此类二叉树中所包含 的节点数至少为 A. 2h B. 2h-1 C. 2h+1 D. h+1
D
38. 在下列排序算法中,_____可能出现下列情 况:在最后一趟开始之前,所有的元素都不一 定在其最终的位置上 A. 堆排序 B. 冒泡排序 C. 直接插入排序 D. 快速排序
C
39. 若一棵哈夫曼树的叶子节点个数为5,则该 树的总节点个数为多少?
9
40. 对给定的数列R={7,16,4,8,20,9,6,18,5},构造 一棵二叉排序树,求: (1)给出按中序遍历得到的数列R1 (2)给出按后序遍历得到的数列R2
D
25. 顺序队和链队的区别仅在于________不同
存储结构
26. 一棵完全二叉树上有1001个节点,其中叶子 节点的个数是多少?
501
27. 下列说法中,不正确的是 A. 数据元素是数据的基本单位 B. 数据项是数据中不可分割的最小可标识单位 C. 数据可由若干个数据元素构成 D. 数据项可由若干个数据元素构成
判定树(略),总共比较4次,依次关键字为: 45,77,95,82
12. 以关键字序列 {265,301,751,129,937,863,742,694,76,438}为例, 给出归并排序算法的各趟排序结束时关键字序 列的状态
第一趟:265,301,751,129,937,863,742,694,76,438 第二趟:129,265,301,751,863,937,694,742,76,438 第三趟:129,265,301,694,742,751,863,937,76,438 第四趟:76,129,265,301,438,694,742,751,863,937
B
47. 将关键字序列{7,8,30,11,18,9,14}散列存储到 散列表中,散列表的存储空间是一个下标从0开 始的一维数组,散列函数为 H(key)=(key*3)mod7,处理冲突采用线性探测 散列法,要求装填因子为0.7 (1)请画出所构造的散列表 (2) 分别计算等概率情况下,查找成功和查找 不成功的平均查找长度
C
4. 顺序队列在实现的时候,通常将数组看成是 一个首尾相连的环,这样做的目的是为了避免 产生______现象
假溢出
5. 设有两个串p和q,其中q是p的子串,求q在p 中首次出现的位置的算法称为________
模式匹配
6. 对二叉排序树进行_______遍历,可以得到按 关键字从小到大排列的节点序列
C
16. 以下序列不是堆(大根或小根)的是 A. {100,85,98,77,80,60,82,40,20,10,66} B. {100,98,85,82,80,77,66,60,40,20,10} C. {10,20,40,60,66,77,80,82,85,98,100} D. {100,85,40,77,80,60,66,98,82,10,20}
D
ASL成功=37/12,ASL失败=49/13
43. 有一个长度为12的有序表R[0...11],按二分 查找法对该表进行查找,在表内各元素等概率 情况下查找成功和查找失败所需的平均比较次 数是多少?
5 2 8
0
1
3 4
6 7 9
10
11
44. 已知一棵完全二叉树的第6层(设根为第一层) 有8个叶子节点,则该完全二叉树的节点个数最 多是________ A. 39 B. 52 C. 111 D. 119
35,19
51. 假定一棵二叉树的节点数为22,则它的最小 深度为_____,最大深度为_______
期末复习习题集
1. 数据结构在计算机内存中的表示指 A. 数据的存储结构 B. 数据结构 C. 数据的逻辑结构 D. 数据元素之间的关系
A
2. 串是________ A. 不少于一个字母的序列 B. 任意个字母的序列 C. 不少于一个字符的序列 D. 有限个字符的序列
D
3. 在n个节点的线索二叉树中,线索的数目为 A. n-1 B. n C. n+1 D. 2n
中序遍历:4,5,6,7,8,9,16,18,20 后序遍历:5,6,4,9,8,18,20,16,7
41. 在一棵度为3的树中,度为3的节点个数为2, 度为2的节点个数为1,则度为0的节点个数为 ________ 7 A. 4 4 16 B. 5 C. 6 6 20 8 D. 7
5
9
18
B
42. 某二叉树的先序遍历序列和后序遍历序列正 好相反,则该二叉树一定是_______ A. 空或只有一个Байду номын сангаас点 B. 完全二叉树 C. 二叉排序树 D. 高度等于其节点数
18 3
9 3
ASL成功 = (4+2+6)/7 = 12/7 ASL失败 = (3+2+1+2+1+5+4+3+2+1)/10 = 12/5
48. 为实现快速排序法,待排序序列宜采用存储 方式是 A. 顺序存储 B. 散列存储 C. 链式存储 D. 索引存储
A
49. 将一棵有80个节点的完全二叉树按层编号, 根节点的编号为1,则对编号为40的结点x,该 节点 A. 无左、右孩子 B. 有左孩子,无右孩子 C. 有右孩子,无左孩子 D. 有左、右孩子
n=2n2+n1+1且n0=n2+1,得n=2n0+n1-1 哈夫曼树n1=0,则n=2n0-1
11. 有一个有序表 R[1...13]={1,3,9,12,32,41,45,62,75,77,82,95,100}, 当用二分查找法查找关键字为82的节点时,经 多少次比较后查找成功,依次与哪些关键字进 行比较
O(n2)
21. 下述函数中对应的时间复杂度最小是 A. T1(n) = nlog2n+5000n B. T2(n) = n2-8000n C. T3(n) = nlog2 n 6000n D. T4(n) = 1000log2n
D
22. 以下各种存储结构中,最适合用做链队的链 表是 A. 带队首指针和队尾指针的循环单链表 B. 带队首指针和队尾指针的非循环单链表 C. 只带队首指针的非循环单链表 D. 只带队首指针的循环单链表
C
34.在以下排序算法中,_______不能保证每趟 排序至少能将一个元素放到其最终位置上 A. 快速排序 B. 希尔排序 C. 堆排序 D. 冒泡排序
B
35. 一个n*n的对称矩阵,如果采用压缩存储放 入内存,则容量为 A. n2 B. n2/2 C. n(n+1)/2 D. (n+1)2/2