python 快速排序算法
时间: 2023-10-13 21:26:13 浏览: 101
快速排序(Quicksort)是一种基于分治思想的排序算法。它的基本思想是选取一个基准元素,然后将待排序序列划分成两个子序列,其中一个子序列中的所有元素都小于基准元素,另一个子序列中的所有元素都大于基准元素,然后对这两个子序列分别递归地进行快速排序,最终得到一个有序序列。
以下是 Python 实现快速排序的代码:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2] # 选取基准元素
left = [x for x in arr if x < pivot] # 小于基准元素的子序列
middle = [x for x in arr if x == pivot] # 等于基准元素的子序列
right = [x for x in arr if x > pivot] # 大于基准元素的子序列
return quick_sort(left) + middle + quick_sort(right) # 递归地对左右子序列进行排序,然后拼接成最终的有序序列
```
你可以使用以下代码测试上面的快速排序算法:
```python
arr = [3, 5, 1, 4, 2, 6]
sorted_arr = quick_sort(arr)
print(sorted_arr) # [1, 2, 3, 4, 5, 6]
```
这是一个简单的实现,实际上快速排序还有很多优化策略,例如随机选取基准元素、三数取中法等,可以进一步提高快速排序的效率。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)