问答题
阅读下列排序算法,并与已学的算法比较,讨论算法中基本操作的执行次数。
这是一个双向选择排序算法,每次选择关键码最小的记录放在前面,同时选择关键码最大的记录放在后面。比较n*(n-1)/2次。......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
问答题 如果只想得到一个含有n个元素的序列中第k(k<<n)小元素之前的部分排序序列,最好采用什么排序方法?为什么?如有这样一个序列:{57,11,25,36,18,80,22}得到其第3个最小元素之前的部分序列{11,18,22},使用所选择的算法实现时,要执行多少次比较?
问答题 有n个不同的英文单词,它们的长度相等,均为m,若n>>50,m<5,试问采用什么排序方法时间复杂度最小?为什么?
问答题 已知序列{50,18,12,61,8,17,87,25},请给出采用堆排序对该序列做升序排序时的每一趟结果。