python实现快速排序 --算法导论
2020-06-06 07:47
39 查看
import random def partition(A, p, r): x = A[r] i = p - 1 for j in range(p, r): if A[j] <= x: i = i + 1 A[i], A[j] = A[j], A[i] A[i + 1], A[r] = A[r], A[i + 1] return i + 1 def randomized_partition(A, p, r): i = random.randint(p, r) A[r], A[i] = A[i], A[r] return partition(A, p, r) def randomized_quicksort(A, p, r): if p < r: q =randomized_partition(A, p, r) randomized_quicksort(A, p, q - 1) randomized_quicksort(A, q + 1, r) return A A = [13, 19, 9, 5, 12, 8, 7, 4, 21, 2, 6, 11]#需要排序数组 print(randomized_quicksort(A, 0, len(A) - 1))
相关文章推荐
- 算法导论快速排序python实现
- python 算法 排序实现快速排序
- Python全栈(二)数据结构和算法之8.快速排序、归并排序和二分查找的实现
- 快速排序的C#实现以及,算法导论上之后一个习题的思考
- 快速排序的算法思想及Python版快速排序的实现示例
- 算法基础:排序(三)——快速排序——Python实现
- 快速排序的算法思想及Python版快速排序的实现示例
- 简单算法的Python实现2--快速排序
- Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
- 快速排序quicksort-算法导论java实现
- 算法:快速排序的Python实现
- 快速排序之算法导论实现
- 利用Python实现快速算法排序
- 【算法导论】快速排序java实现
- 算法基础:排序(三)——快速排序——Python实现
- 插入排序,合并排序,堆排序,快速排序,计数排序的实现(算法导论)
- Python 快速排序 堆排序——Python实现一些算法持续更新
- python实现排序算法之快速排序
- 算法导论4:快速排序 2016.1.4
- 快速排序--【算法导论】