2017年常州大学艺术学院858数据结构考研导师圈点必考题汇编
● 摘要
一、选择题
1. 为提高散列(Hash )表的查找效率,可以采用的正确措施是( )。
I .增大装填(载)因子
II. 设计冲突(碰撞)少的散列函数
III. 处理冲突(碰撞)时避免产生聚集(堆积)现象
A. 仅I B. 仅 II C. 仅 I 、II D. 仅 II 、III
【答案】D
【解析】散列表的查找效率(比较次数)取决于:散列函数、处理冲突的方法和散列表的装填因子a 。CX 标 志着散列表的装满程度,通常情况下,(X 越小,发生冲突的可能性越小;反之,a 越大,表示已填入的记录越多, 再填入记录时,发生冲突的可能性越大。因此选项I 错误,越是增大装填因子,发生冲突的可能性就越大,查找 效率也越低。选项II 正确。选项III 正确。采用合适的处理冲突的方法避免产生聚集现象,也将提高查找效率。例如,用拉链法解决冲突时不存在聚集现象,用线性探测法解决冲突时易引起聚集现象。
2. 下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序( )。
A. 二叉排序树
B. 哈夫曼树
C.
D. 堆
【答案】D
【解析】堆的定义:
n 个关键字序列
(1)
(2)
且且或 称为堆,当且仅当该序列满足如下性质(简称为堆性质): 树
满足第(1)种情况的堆,称为小顶堆;满足第(2)种情况的堆,称为大顶堆。
由堆的定义可知堆可以满足上述性质。
3. 基于比较方法的n 个数据的内部排序。 最坏情况下的时间复杂度能达到的最好下界是( )。
A.0(nlogn )
B.O (logn )
C.O (n ) D.
【答案】A
【解析】在内部排序中,最坏情况下的时间复杂度为0(nlogn )。
已知待排序的n 个元素可分为个组,每个组包含k 个元素,且任一组内的各元素均分别大干前一
4. 下列四个序列中,哪一个是堆( )?
A.75,65,30,15,25,45,20,10
B.75,65,45,10,30,25,20,15
C.75,45,65,30,15,25,20,10
D.75,45,65,10,25,30,20,15
【答案】C
【解析】堆的定义:
n 个关键字序列
且
且
称为堆,当且仅当该序列满足如下性质(简称为堆性质):
小根堆:满足第①种情况的堆;
大根堆:满足第②种情况的堆。
根据堆定义即可得出答案。
5. 引入二叉线索树的目的是( )。
A. 加快查找结点的前驱或后继的速度
B. 为了能在二叉树中方便地进行插入与删除
C. 为了能方便地找到双亲
D. 使二叉树的遍历结果唯一
【答案】A
【解析】二叉线索树有指向前驱和后继的指针,因此加快了查找前驱和后继结点的速度。
6. 对一组数据(2, 12, 16, 88, 5,10)进行排序,若前三趟排序结果如下:
第一趟:2,12,16, 5,10,88
第二趟:2,12,5,10,16, 88 第三趟:2,5,10,12,16, 88
则采用的排序方法可能是( )。
A. 起泡排序
B. 希尔排序
C. 归并排序
D. 基数排序
【答案】A
【解析】题目中所给的三趟排序过程,显然是使用起泡排序方法,每趟排序时从前往后依次
,待序列中的记录“基比较,使大值“沉底”。希尔排序的基本思想是:先对序列进行“宏观调整”
本有序”时再进行直接插入排序。宏观调整的方法是:通过某种规则将大的待排序序列分割为若干小的待排序序列,再依次对这些小的序列直接插入排序。宏观调整可以多次,每次分割的序列数逐渐増多,而每个序列中所包含的元素数逐渐减少。归并排序的基本操作是将多个小的有序序
,直至整个序列为有序为止。 基数排序是分配排列合并为一个大的有序序列,然后“逐趟归并”
序的一种,这类排序不是通过关键字比较,而是通过“分配”和“收集”过程来实现排序的。 本
,显然使用的是起泡排序法。 题中,很容易看出大值逐渐“沉底”
7. 元素a , b , c , d , e 依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d 开头的序列个数是( )。
A.3
B.4
C.5
D.6
【答案】B
【解析】d 首先出栈后的状态如下图所示。
此时可有以下4种操作:
(1)e 进找后出栈,出梭序列为decba 。
(2)c 出找,e 进找后出栈,出找序列为dceba 。
(3)cb 出找,e 进找后出栈,出找序列为dcbea 。
(4)cba 出找,e 进找后出找,出找序列为dcbae 。
8. 栈和队的共同点是( )。
A. 都是先进后出
B. 都是后进先出
C. 只允许在端点处插入和删除元素
D. 没有共同点
【答案】C
【解析】栈和队列的区别是栈是先进后出的数据结构,队列是先进先出的数据结构,栈和队列的共同点是都只能在端点处插入和删除元素。
9. 下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。
A. 先来先服务