快速排序python及动画演示
时间: 2023-11-24 17:50:28 浏览: 42
以下是快速排序的Python代码和动画演示:
快速排序Python代码:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[0]
left = [x for x in arr[1:] if x < pivot]
right = [x for x in arr[1:] if x >= pivot]
return quick_sort(left) + [pivot] + quick_sort(right)
```
快速排序动画演示:
<iframe width="560" height="315" src="***="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
相关问题
快速排序算法代码python
以下是快速排序算法的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
桶排序是一种排序算法,它将元素分为不同的桶,然后对每个桶中的元素进行排序,最后将所有桶中的元素按顺序合并起来。Python实现桶排序的方法如下:
```python
def bucket_sort(arr):
# 创建桶
buckets = [0] * ((max(arr) - min(arr)) // len(arr) + 1)
# 将元素放入桶中
for i in arr:
buckets[(i - min(arr)) // len(arr)] += 1
# 将桶中元素排序
res = []
for i in range(len(buckets)):
if buckets[i] != 0:
res += [i * len(arr) + j for j in range(buckets[i])]
return res
```
其中,arr为待排序的列表,buckets为桶,res为排序后的结果。这个实现方法的时间复杂度为O(n),空间复杂度为O(n)。