- 分而治之(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).
算法圖解第四章快速排序學習筆記
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.