若需在O(log2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是【 】。
A、快速排序
B、堆排序
C、归并排序
D、直接插入排序
若需在O(log2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是【 】。
A、快速排序
B、堆排序
C、归并排序
D、直接插入排序
C
【解析】
快速排序和堆排序的时间复杂度都是O(nlog2n),但这两种方法都是不稳定的。
直接插入排序的时间复杂度是O(n2),是稳定的。
归并排序的时间复杂度是O(nlog2n),是稳定的排序方法。
若要尽可能快地完成对实数数组的排序,且要求排序是稳定的,应该选【 】。
如果待排序序列中两个数据元素具有相同的值,在排序前后它们的位置发生颠倒,则称该排序算法是不稳定的,【 】就是不稳定的排序算法。
若有n个元素已构成一个小根堆,那么如果增加一个元素Kn+1,请用文字简要说明如何在log2n的时间内将其重新调整为一个堆。
如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序序列,用【 】方法最快
回答问题并写出推导过程:对50个整数进行快速排序需进行关键字间比较次数可能达到的最大值和最小值各为多少?
在起泡(冒泡)排序过程中,有的关键字在某趟排序中可能朝着与最终排序相反的方向移动,请举例说明之。快速排序过程中有没有这种现象?
快速排序的最大递归深度是__________,最小递归深度是__________。
下述排序算法中,所需辅助存储量最多的是__________,所需辅助存储量最少的是__________,平均速度最快的是__________。A. 快速排序 B. 归并排序 C. 堆排序
初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为【 】。
在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是【 】。
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为__________。
下列排序算法中,不稳定的是【 】。Ⅰ. 希尔排序Ⅱ. 归并排序Ⅲ. 快速排序Ⅳ. 堆排序Ⅴ. 基数排序
使用快速排序算法对数据进行升序排序, 若经过一次划分后得到的数据序列是 68, 11, 70, 23, 80, 77, 48, 81, 93, 88,则该次划分的轴枢【】。
若要求对大小为n的数组进行排序的时间复杂度为 O(nlog2n),且是稳定的(即如果待排序的序列中两个数据元素具有相同的值,在排序前后它们的相对位置不变),则可选择的排序方法是【 】
采用【 】算法对序列{18,12,10,11,23,2,7}进行一趟递增排序后,其元素的排列变为{12,10,11,18,2,7,23}。