1.快速排序的基本思想
通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
2.排序算法时间空间复杂度比较(摘自《数据结构(C语言版)》(严蔚敏))
排序方法 | 平均时间 | 最坏情况 | 辅助存储 |
简单排序 | O(n2 ) | O(n2 ) | O(1) |
快速排序 | O(nlog(n)) | O(n2 ) | O(log(n)) |
堆排序 | O(nlog(n)) | O(nlog(n)) | O(1) |
归并排序 | O(nlog(n)) | O(nlog(n)) | O(n) |
基数排序 | O(d(n+rd)) | O(d(n+rd)) | O(rd) |
3.实现的程序(根据《数据结构(C语言版)》(严蔚敏)和《Introduction of algorithms》)
这里实现了快速排序的两个版本,具体见程序中