试问:按锦标赛排序的思想,决出8名运动员之间的名次排列,至少需编排多少场次的比赛(应考虑最坏的情况)?
查看答案
奇偶交换排序如下所述:第一趟对所有奇数i,将a[i]和a[i+1]进行比较;第二趟对所有的偶数i,将a[i]和a[i+1]进行比较,若a[i]>a[i+1],则两者交换;第三趟对奇数i,第四趟对偶数i;……依次类推直至整个序列有序为止。(1)试问这种排序方法的结束条件是什么?是否为稳定排序?(2)分析当初始序列为正序或逆序两种情况下,奇偶交换排序过程中所需进行的关键字比较的次数。(3)分析此种排序方法的平均复杂度及最坏复杂度。
试编写教科书10.2.2节中所述链表插入排序的算法。
按下述原则编写快排的非递归算法:(1) 一趟排序之后,先对长度较短的子序列进行排序,且将另一子序列的上、下界入栈保存;(2) 若待排记录数≤3,则不再进行分割,而是直接进行比较排序。
假设有1000个关键字为小于10000的整数的记录序列,请设计一种排序方法,要求以尽可能少的比较次数和移动次数实现排序,并按你的设计编出算法。