- 分而治之(divide & conquer,D&C) 一种著名的递归式问题解决方法
- 使用D&C解决问题的过程包括两个步骤: 1) 找出基线条件,这种条件必须尽可能简单; 2)不断将问题分解(或者说缩小规模),直到符合基线条件
- 将长1680M宽640M的土地均匀的分成方块,且分出的方块要尽可能大.
- 思考: 适用于这小块地的最大方块,也是适用于整块地的最大方块 (参阅欧几里得算法 )
- 快速排序算法
-
def quicksort(array): if len(array) < 2: return array else: pivot = array[0] less = [i for i in array[1:] if i <= pivot] greater = [i for i in array[1:] if i > pivot] return quicksort(less) + [pivot] + quicksort(greater) print(quicksort([10, 5, 2, 3])) print([i for i in range(10)])
-
快速排序的平均运行时间O(nlogn).
算法图解第四章快速排序学习笔记
最新推荐文章于 2021-06-27 16:44:55 发布