在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是【 】。
A、直接插入排序
B、冒泡排序
C、简单选择排序
在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是【 】。
A、直接插入排序
B、冒泡排序
C、简单选择排序
A
【解析】
对直接插入排序而言,其时间复杂度为O(n2),但若待排记录序列为“正序”时,其时间复杂度可提高至O(n)。
若待排序记录序列按关键字“基本有序”,即序列中具有下列特性 L.r[i].key < Max{L.r[j].key}(1≤j<i)的记录较少时,直接插入排序的效率就可大大提高,从另一方面来看,由于直接插入排序算法简单,则在n值很小时效率也较高。
下述排序算法中,所需辅助存储量最多的是__________,所需辅助存储量最少的是__________,平均速度最快的是__________。A. 快速排序 B. 归并排序 C. 堆排序
在分析二叉查找树性能时常加入失败结点,即外结点,从而形成扩充的二叉树。若设失败结点i所在层次为li,那么查找失败到达失败结点时所做的数据比较次数是多少?
二叉树中,具有两个子女的结点的中序后继结点最多只能有一个子女。
若杂凑表(Hash)的地址范围为[0,9],杂凑函数为H(key)=(key2+2) MOD 9,并采用链地址法处理冲突,请画出元素7、4、5、3、6、2、8、9依次插入杂凑表的状态。
初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为【 】。
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为__________。
如果待排序序列中两个数据元素具有相同的值,在排序前后它们的位置发生颠倒,则称该排序算法是不稳定的,【 】就是不稳定的排序算法。
下列排序算法中,不稳定的是【 】。Ⅰ. 希尔排序Ⅱ. 归并排序Ⅲ. 快速排序Ⅳ. 堆排序Ⅴ. 基数排序
使用快速排序算法对数据进行升序排序, 若经过一次划分后得到的数据序列是 68, 11, 70, 23, 80, 77, 48, 81, 93, 88,则该次划分的轴枢【】。
若需在O(log2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是【 】。
若有n个元素已构成一个小根堆,那么如果增加一个元素Kn+1,请用文字简要说明如何在log2n的时间内将其重新调整为一个堆。