快速排序
取一个元素p(第一个元素),使元素p归位
列表被p分成两部分,左边都比p小,右边都比p大
递归完成排序
算法关键点
- 整理
- 递归(递归深度)
| 排序方法 | 最好情况 | 一般情况 | 最坏情况 |
|---|---|---|---|
| 快速排序 | O(nlogn) | O(nlogn) | O(n^2) |
| 冒泡排序 | O(n) | O(n^2) | O(n^2) |
代码实现
import random
# 分区函数
def partition(lst, left, right):
tmp = lst[left]
while left
关注
打赏
