题目内容
(请给出正确答案)
[主观题]
二路归并算法merge()中的循环体,虽然形式上简洁,但流程控制逻辑却较为复杂。a)试分情况验证并解释该算法的正确性;b)基于以上理解,该循环体可以如何简化?c)如果从代码可维护性及运行效率的角度出发,该算法应该如何实现?
查看答案
如果结果不匹配,请 联系老师 获取答案
的结果,并说明做了多少次排序码比较,注意,后一个16附带一个“*”表明这是一个与前面某一个元素具有相同排序码值(16)的元素。
(1)直接插入排序
(2)希尔排序(增量为5,2,1)
(3)起泡排序
(4)快速排序
(5)简单选择排序
(6)锦标赛排序
(7)堆排序
(8)二路归并排序
(9)基数排序
A.deng,tang,an,wan,bai,shi,fang,li
B.an,deng,bai,li,shi,tang,iang,wan
C.deng,an,tang,shi,bai,fang,li,wan
D.deng,tang,an,wan,bai,shi,fang,li
E.an,bai,deng,fang,li,shi,tang,wan
F.an,tang,deng,wan,shi,bai,fang,li
G.li,deng,an,shi,bai,fang,tang,wan
H.shi,bai,an,li,tang,deng,fang,wan
A.归并排序的平均时间复杂度0(nlogn),最坏时间复杂度0(n^2)
B.堆排序平均时间复杂度0(nlogn),最坏时间复杂度0(nlogn)
C.冒泡排序平均时间复杂度0(n^2),最坏时间复杂度0(n^2)
D.快速排序的平均时间复杂度0(nlogn),最坏时间复杂度0(n^2)