数据结构复习(排序)

选择题

在具有n个元素的序列中进行查找,平均查找长度为O(n)的方法是( )。
A 顺序查找方法
B 散列查找方法
C 分块查找方法
D 树形查找方法

顺序查找方法的优点之一是( )。
A 对于被查找对象几乎没有限制
B 适合排序连续顺序文件的查找
C 适合链接顺序文件的查找
D 查找时间效率高

对线性表采用折半查找,该线性表必须( )。
A 元素按值有序排列
B 采用顺序结构
C 元素按值有序排列,并且采用顺序存储结构
D 元素按值有序排列,并且采用链式存储结构

冒泡排序某一趟移动记录次数很少,说明( )。
A 待排序数据元素序列基本有序
B 已有序
C 最大元素在一端
D 最小元素在一端

顺序查找法适合于存储结构为( )的线性表
A 散列存储
B 顺序存储或链接存储
C 压缩存储
D 索引存储

排序是根据( )的大小重新安排各元素的顺序
A 关键字
B 数组
C 元素件
D 结点

设待排序数据元素序列有n个记录,应用冒泡排序方法,进行一趟排序,所需比较和移动记录的最多次数分别为( )。
A n、n
B n-1、n
C n-1、0
D n-1、n-1

设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找键值为84的结点时,经( )次比较后查找成功。
A 2
B 3
C 4
D 12

快速排序在下列( )情况下最易发挥其长处
A 被排序的数据中含有多个相同排序码
B 被排序的数据已基本有序
C 被排序的数据完全无序
D 被排序的数据中的最大值和最小值相差悬殊

快速排序方法在( )情况下最不利于发挥其长处。
A 要排序的数据量太大
B 要排序的数据中有多个相同值
C 要排序的数据已基本有序
D 要排序的数据个数为奇数

适用于折半查找的表的存储方式及元素排列要求为( )
A 链接方式存储,元素无序
B 链接方式存储,元素有序
C 顺序方式存储,元素无序
D 顺序方式存储,元素有序

若对n个元素进行直接插入排序,则进行任一趟排序的过程中,为寻找插入位置而需要的时间复杂度为( )。
A O(1)
B O(n)
C O(n2)
D O(log2n)

对n个元素进行直接插入排序时间复杂度为( )。
A O(1)
B O(n)
C O(n2)
D O(log2n)

堆的形状是一棵( )。
A 二叉排序树
B 满二叉树
C 完全二叉树
D 平衡二叉树

在具有15个记录的排序连续顺序文件上采用折半查找方法查找一个文件不存在的记录,需要进行( )次关键字的比较。
A 0
B 4
C 5
D 15

若对n个元素进行直接插入排序,在进行第i趟排序时,假定元素r[i+1]的插入位置为r[j],则需要移动元素的次数为( )。
A j-i
B i-j-1
C i-j
D i-j+1

对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )
A (n-1)/2
B n/2
C (n+1)/2
D n

从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为( )。
A 归并排序
B 冒泡排序
C 插入排序
D 选择排序

对有14个元素的有序表A[1…14]作二分查找,查找元素A[4]时的被比较元素依次为( )
A A[1],A[2],A[3],A[4]
B A[1],A[14],A[7],A[4]
C A[7],A[3],A[5],A[4]
D A[7],A[5],A[3],A[4]

一组待排序序列为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为( )。
A 79,46,56,38,40,80
B 84,79,56,38,40,46
C 84,79,56,46,40,38
D 84,56,79,40,46,38

对以下几个关键字进行快速排序,以第一个元素为轴,一次划分效果不好的是( )。
A 4,1,2,3,6,5,7
B 4,3,1,7,6,5,2
C 4,2,1,3,6,7,5
D 1,2,3,4,5,6,7

只能在顺序存储结构上才能实现的查找方法是( )法。
A 顺序查找
B 树形查找
C 折半查找
D 散列查找

在对n个元素进行直接插入排序的过程中,共需要进行( )趟。
A n
B n+1
C n-1
D 2

对n个不同的关键字由小到大进行冒泡排序,在下列( )情况下比较的次数最多。
A 从小到大排列好的
B 从大到小排列好的
C 元素无序
D 元素基本有序

排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置,这是( )排序的基本思想。
A 堆排序
B 直接插入排序
C 快速排序
D 冒泡排序

在对n个元素进行冒泡排序的过程中,至少需要( )趟完成。
A= 1
B n
C n-1
D n/2

设待排序数据元素序列有n个记录,应用冒泡排序方法,进行一趟排序,所需比较和移动记录的最少次数分别为( )。
A 1、2
B n-1、1
C n-1、0
D n-1、n-1

堆排序是一种( )排序。
A 插入
B 选择
C 交换
D 归并

希尔排序属于( )。
A 交换排序
B 归并排序
C 选择排序
D 插入排序

冒泡排序某一趟移动记录次数很少,说明( )。
A 待排序数据元素序列基本有序
B 已有序
C 最大元素在一端
D 最小元素在一端

对n个不同的关键字由小到大进行冒泡排序,在下列( )情况下比较的次数最多。
A 从小到大排列好的
B 从大到小排列好的
C 元素无序
D 元素基本有序

下列排序算法中,( )算法可能会出现下面情况:在最后一趟开始之前,所有元素都不在其最终的位置上。
A 堆排序
B 冒泡排序
C 快速排序
D 插入排序

一个序列中有10000个元素,若只想得到其中前10个最小元素,则最好采用( )方法。
A 快速排序
B 堆排序
C 插入排序
D 归并排序

在具有n个元素的序列中进行查找,平均查找长度为O(n)的方法是( )。
A 顺序查找方法
B 散列查找方法
C 分块查找方法
D 树形查找方法

在下列排序方法中,不稳定的排序方法是( )。
A 直接插入排序
B 直接选择排序
C 冒泡排序
D 归并排序

填空题

设有 1000 个无序的元素,希望用最快的速度挑选出其中前 10 个最大的元素,最好选用
()排序法。

答案:堆排序

对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结果时的
结果依次为第一趟:49,72,68,13,38,50,97,27;第二趟:49,68,72,13,
38,50,97,27;第三趟:13,49,68,72,38,50,97,27。该排序采用的方法是
( )。

答案:插入排序法

一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序(堆顶元素是最小
元素)的方法建立的初始化堆为( )。

答案:39,41,46,80,47,57

一组记录的关键字序列为(37,70,47,29,31,85),利用快速排序,以第一个关键
字为分割元素,经过一次划分后结果为( )。

答案:31,29,37,47,77,85

下述几种排序方法中,要求内存量最大的是( )。

答案:归并排序

若待排序序列在排序前已按关键字递增排列,则采用( )方法比较次数最多。

答案:直接插入排序

将两个各有 n 个元素的有序表归并成一个有序表,其最少的比较次数是( )。

答案:n

就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是( )。

答案:堆排序< 快速排序< 归并排序

一组记录的关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有 5
个长度为 2 的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( )。

答案:(15,25,35,50,20,40,80,85,36,70)

对 n 个元素进行冒泡排序,通常要进行 n-1 趟冒泡,在第 j 趟冒泡中共要进行( )次元
素间的比较。

答案:n-j

排序方法中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较
(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法,是( )排
序。

答案:折半插入

用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元素序
列的变化情况如下:
(1)25,84,21,47,15,27,68,35,20
(2)20,15,21,25,47,27,68,35,84
(3)15,20,21,25,35,27,47,68,84
(4)15,20,21,25,27,35,47,68,84
则采用的排序方法是( )。

答案:快速排序

一组记录的关键字序列为(36,69,46,28,30,84),利用快速排序,以第一个关键
字为分割元素,经一次划分后结果为( )。

答案:30,28,36,46,69,74

设已有 m 个元素有序,在未排好序的序列中挑选第 m+1 个元素,并且只经过一次元素间
的交换,就使第 m+1 个元素排序到位,该方法是( )。

答案:简单选择排序

一组记录的关键字序列为(46,79,56,38,40,45),利用堆排序(堆顶元素是最小
元素)的方法建立的初始堆为( )。

答案:38, 40, 45, 79, 46, 56

已知 10 个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小
到大排序,经过一趟冒泡排序后的序列为( )。

答案:28,16,34,54,62,73,60,26,43,95

对具有 n 个元素的任意序列采用插入排序法进行排序,排序趟数为( )。

答案:n-1

判断题

快速排序算法在每一趟排序中都能找到一个元素放在其最终位置上。( )

A 正确

排序的目的是为了方便以后的查找。( )

A 正确

大多数排序算法都有比较关键字大小和改变自己指向记录的指针或移动记录本身两种基本操作。( )

A 正确

在长度为n的顺序表中,求第i个元素的直接前驱算法的时间复杂度为O(1)。( )

A 正确

你可能感兴趣的:(数据结构,数据结构,java,排序算法)