题目内容
(请给出正确答案)
[主观题]
排序算法中,从尚未排序序列中依次取出元素与已排序序列(初始为空)中的元素依次进行比较,然后将其放入已排序序列的正确位置的方法是()。
排序算法中,从尚未排序序列中依次取出元素与已排序序列(初始为空)中的元素依次进行比较,然后将其放入已排序序列的正确位置的方法是()。
查看答案
如果结果不匹配,请 联系老师 获取答案
a)试按照以上思路,实现一个排序算法:
b)你的这一算法,时间和空间复杂度各是多少?
c)改进你的算法,使之能够在O(n+M)时间内对来自[0,M)范围内的n个整数进行排序,且使用的辅助空间不超过O(M)。
下列排序算法中,()排序在某趟结束后不一定选出一个元素放到其最终的位置上。
A.选择
B.冒泡
C.归并
D.堆
如果在合并排序算法的分割步骤中,将数组a[0:n-1]划分为[ ]个子数组,每个子数组中有O()个元素,然后递归地对分割后的子数组进行排序,最后将所得到的[ ]个排好序的子数组合并成所要求的排好序的数组a[0;n-1].设计一个实现上述策略的合并排序算法,并分析算法的计算复杂性.
设使用Pratt序列:
对长度为n的任一向量S做希尔排序。
试证明:
a)若S已是(2,3)-有序,则只需o(n)时间即可使之完全有序;
b)对任何,若S已是(2hk,3hk)-有序,则只需o(n)时间即可使之hk-有序;
c)针对序列中的前o(logtn)项,希尔排序算法需要分别迭代一轮;
d)总体的时间复杂度为o(log2n)。