40. 递归排序算法面试选择题分享与分析

1. 线性表如果要频繁的执行插入和删除操作,该线程表采取的存储结构应该是()

A. 散列
B. 顺序
C. 链式
D. 索引

答:C 链表无序,仅仅关联上一个数据以及下面的一个元素,不用进行遍历就可以查询,链表结构是查询慢,增删快。

2. 在下列排序方法中,不稳定的方法有()

A. 归并排序与基数排序
B. 插进排序与希尔排序
C. 堆排序与快进排序
D. 选择排序与冒泡排序

答:C

3. 一个递归算法包括()

A. 递归部分
B. 终止条件和递归部分
C. 迭代部分
D. 终止条件和迭代部分

答:B 递归算法需要有终止条件,没有终止条件可能会出现栈溢出

4. 用某种排序方法对关键字排序(25、84、21、47、15、27、68、35、20)进行排序时,序列的变化情况如下:

20、15、21、25、47、27、68、35、84
15、20、21、25、35、37、47、68、84
15、20、21、25、27、35、47、68、84

则采用的排序方法是()

A. 选择排序
B. 希尔排序
C. 归并排序
D. 快速排序

答:D

5. 一下哪种排序算法对(1,3,2,4,5,6, 7,8,9)进行的排序最快?()

A. 冒泡
B. 快排
C. 归并
D. 堆排

答:A

6. 如果在一个排序算法的执行过程中,没有一对元素被彼此比较过两次或以上,则称该排序算法为节俭排序算法,以下算法中是节俭排序算法的有()

A. 插入排序
B. 选择排序
C. 堆排序
D. 归并排序

答:AD

7. 若有 18 个元素的有序表放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找 A[3] 的比较序列的下标依次为()

A. 1,2,3
B. 9,5,3
C. 9,5,2,3
D. 9,4,2,3

答:D

8. 对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为

(1) 84 47 25 15 21
(2) 15 47 25 84 21
(3) 15 21 25 84 47
(4) 15 21 25 47 84

则采用的排序方法是()

A. 选择
B. 冒泡
C. 快速
D. 插入

答:A

9. 下面关于二分查找的叙述中正确的是()

A. 表必须有序,表可以顺序方式存储,也可以链表方式存储
B. 表必须有序且表中数据必须是整型,实型或字符型
C. 表必须有序,而且只能从小到大排列
D. 表必须有序,且表中只能以顺序方式存储

答:D

猜你喜欢

转载自blog.csdn.net/zhu_fangyuan/article/details/108835124