快速排序是一種遞迴呼叫的方法,思想是根據乙個基準值,將陣列比基準值小的放在左邊,比基準值大的放在右邊。運用了分而治之的思想,最後將三部份合併即可得到最終的有序陣列
**實現:
def
quicksort
(arr):if
len(arr)
<2:
return arr
leftarr =
rightarr =
item = arr[0]
for i in
range(1
,len
(arr)):
if arr[i]
<= item:
)else:)
return quicksort(leftarr)
+[item]
+ quicksort(rightarr)
**驗證:
list_test =[3
,5,10
,2,1
,7,6
,8]print
(quicksort(list_test)
)list_test =[3
,0,10
,-1,
1,7,
6,100,20,
31]print
(quicksort(list_test)
)
排序演算法 快速排序Python實現
coding utf 8 file quick sort.py author zhang san time 2020 7 17 18 25 des 快速排序 每次選擇乙個pivot,然後以這個pivot為中心,兩邊分別存放比其大或者小的值,依次 迭代進行劃分,最終完成排序 這裡一定要注意指標滑動的方...
演算法 排序 python 實現 快速排序
主要分為兩個子演算法,partition a,p,r 以a r 為基準對陣列進行乙個劃分,比a r 小的放在左邊,比a r 大的放在右邊。quicksort a,p,r 是快速排序的子程式,呼叫劃分程式對陣列進行劃分,然後遞迴地呼叫quicksort a,p,r 以完成快速排序的過程。快速排序的最差...
Python實現快速排序演算法
快速排序 quicksort 1 演算法思想 快速排序是c.r.a.hoare於1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱其為分治法 divide and conquermethod 1 分治法的基本思想 分治法的基本思想是 將原問題分解為若干個規模更小但結構與原問題相似的子問...