快速排序法代码
以下是使用Python编写的快速排序算法代码:
def quicksort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in range(1, len(arr)):
if arr[i] < pivot:
left.append(arr[i])
else:
right.append(arr[i])
return quicksort(left) + [pivot] + quicksort(right)
该算法首先检查数组的长度。如果长度小于等于1,则返回原数组。否则,选择数组的第一个元素作为基准值(pivot)。
接下来,算法将数组分为两个部分:左边部分包含所有小于基准值的元素,右边部分包含所有大于等于基准值的元素。然后,递归地对左右两个部分进行快速排序,最后将左右两个部分合并为一个有序的数组。
该算法的时间复杂度为O(nlogn),其中n为数组的长度
原文地址: https://www.cveoy.top/t/topic/egEH 著作权归作者所有。请勿转载和采集!