相比于普通的快速排序,优化点在于:
1.解决数组近乎有序的情况下算法复杂度会退化为O(n2)级别的问题
2.解决数组中有大量重复元素带来的复杂度退化问题
import random
def quicksort(arr, left, right):
# 只有left < right 排序
if left < right:
# pivot_index = partition(arr, left, right)
random_index = random.randint(left, right)
arr[left], arr[random_index] = arr[random_index], arr[left]
pivot = arr[left]
lt =