问答题 设有n个无序元素,按非递减次序排序,但只想得到前面长度为k的部分序列,其中n>>k,最好采用什么排序方法?为什么?如果有这样一个序列{59,11,26,34,17,91,25),得到的部分序列是{11,17,25),对于该例使用所选择的方法实现时,共执行多少次比较?【东北大学2002一、4(3分)】
【正确答案】正确答案:从序列{59,11,26,34,17,91,25}得到{11,17,25}共用14次比较。其中建堆输出11比较了8次,调堆输出1 7和25各需要比较4次和2次:上面已经说明,堆排序适合数据量较大的情况,题中7个数据反映不出堆排序的优越性。
【答案解析】