第11章 内排序.ppt

例11.4 设待排序的表有10个记录,其关键字分别为{6,8,7,9,0,1,3,2,4,5}。说明采用快速排序方法进行排序的过程。 设 Tavg(1)≤b 则可得结果: 结论: 快速排序的时间复杂度为O(nlog2n) 由此可得快速排序所需时间的平均值为: 11.4 选择排序 选择排序的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子表的最后,直到全部记录排序完毕。 两种选择排序方法: (1)直接选择排序(或称简单选择排序) (2)堆排序 11.4.1 直接选择排序 直接选择排序的基本思想是:第i趟排序开始时,当前有序区和无序区分别为R[0..i-1]和R[i..n-1](0≤i<n-1),该趟排序则是从当前无序区中选出关键字最小的记录R[k],将它与无序区的第1个记录R[i]交换,使R[0..i]和R[i+1..n-1]分别变为新的有序区和新的无序区。 假设排序过程中,待排记录序列的状态为: 有序序列R[1..i-1] 无序序列 R[i..n] 第 i 趟 简单选择排序 从中选出 关键字最小的记录 有序序列R[1..i] 无序序列 R[i+1..n] 因为每趟排序均使有序区中增加了一个记录,且有序区中的记录关键字均不大于无序区中记录的关键字,即第i趟排序

文档评论(0)

1亿VIP精品文档

相关文档