python最快的排序
时间: 2023-07-01 15:04:49 浏览: 154
Python中的排序算法有很多种,其中最快的一种是快速排序(Quick Sort)。以下是使用 Python 内置的 sorted 函数和自己实现的快速排序算法的比较:
```python
import random
import time
# 自己实现的快速排序算法
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)
# 测试用例
arr = [random.randint(1, 10000) for _ in range(10000)]
# 测试 sorted 函数的排序速度
start_time = time.time()
sorted_arr = sorted(arr)
end_time = time.time()
print(f"sorted 函数排序耗时:{end_time - start_time:.8f} 秒")
# 测试自己实现的快速排序算法的排序速度
start_time = time.time()
sorted_arr = quick_sort(arr)
end_time = time.time()
print(f"快速排序算法排序耗时:{end_time - start_time:.8f} 秒")
```
输出结果:
```
sorted 函数排序耗时:0.00099897 秒
快速排序算法排序耗时:0.01695657 秒
```
可以看出,自己实现的快速排序算法比 Python 内置的 sorted 函数要慢得多。因此,如果需要排序一个大型的列表或数组,使用 Python 内置的 sorted 函数会更加高效。
阅读全文