算法导论中快速排序的三步分治实现
来源:互联网 发布:关于我的命运知乎 编辑:程序博客网 时间:2024/05/21 22:37
解析过程,以后再补充。
import randomdef partition(arr, l, r): x = arr[r] i = l - 1 j = l while j <= r - 1: if arr[j] <= x: i = i + 1 arr[i], arr[j] = arr[j], arr[i] j = j + 1 arr[i + 1], arr[r] = arr[r], arr[i + 1] return i + 1def quicksort(arr, l, r): if l < r: q = partition(arr, l, r) quicksort(arr, l, q - 1) quicksort(arr, q + 1, r)if __name__ == '__main__': arrr = random.sample(range(1, 10000), 19) print arrr quicksort(arrr, 0, len(arrr) - 1) print arrr
0 0
- 算法导论中快速排序的三步分治实现
- 算法中分治策略实现快速排序
- 算法导论-分治法-合并排序的Python&C++实现
- 分治算法实现快速排序
- 分治排序 算法导论 c++实现
- 【算法导论】快速排序实现
- 算法导论快速排序实现
- 分治算法三(随机化快速排序)
- 算法导论笔记(三) : 快速排序
- 算法导论(三) 快速排序
- 分治算法的应用,快速排序java实现
- 【算法】快速排序——基于分治思想的实现
- 【算法导论】c++实现的随机化的快速排序
- 《算法导论的Java实现》 8 快速排序
- [算法导论] 快速排序以及最大堆的C++实现
- 算法导论的Java实现----7. 快速排序
- 算法导论第七章快速排序的C++实现
- 算法导论 - 快速排序的 C 语言实现
- JAVA Hibernate工作原理及为什么要用
- 《java并发编程实战》笔记(1)
- [leetcode]50. Pow(x, n)
- leetcode 15. 3Sum
- Valid Sudoku
- 算法导论中快速排序的三步分治实现
- 给工程添加stl支持
- 阅读碎片
- android studio R文件有问题
- for 循环 and while 循环(三)
- machine learning in action 之一 —— 环境配置
- PYTHON_DAY_9_20160602
- c++13周实验:输入/输出流的综合应用
- Spark之DataFrame通过编码创建