快速排序演算法python實現

2021-10-02 11:37:52 字數 715 閱讀 5163

快速排序是一種遞迴呼叫的方法,思想是根據乙個基準值,將陣列比基準值小的放在左邊,比基準值大的放在右邊。運用了分而治之的思想,最後將三部份合併即可得到最終的有序陣列

**實現:

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 分治法的基本思想 分治法的基本思想是 將原問題分解為若干個規模更小但結構與原問題相似的子問...