快速排序(python實現)

2022-08-26 18:00:12 字數 570 閱讀 3381

演算法導論上的快速排序採用分治演算法,步驟如下:

1.選取乙個數字作為基準,可選取末位數字

2.將數列第一位開始,依次與此數字比較,如果小於此數,將小數交換到左邊,最後達到小於基準數的在左邊,大於基準數的在右邊,分為兩個陣列

3.分別對兩個陣列重複上述步驟

其中一次排序步驟如下:

偽碼實現:

quicksort(a,p,r)

if ppython實現**如下:

def quicksort(arr,firstindex,lastindex):

if firstindex執行結果如下:

initial array:

[1, 4, 7, 1, 5, 5, 3, 85, 34, 75, 23, 75, 2, 0]

result array:

[0, 1, 1, 2, 3, 4, 5, 5, 7, 23, 34, 75, 75, 85]

效能分析以後做

python實現快速排序

快速排序的思想是任意選取要排序的list中的乙個數pivot,每次遞迴時將list按照 小於pivot的,pivot,大於pivot的 排序,再對小於和大於pivot部分分別快速排序。function quicksort list select a pivot foreach x in list i...

Python實現快速排序

快速排序的思路 numlist 6,8,1,4,3,9,5,4,11,2,2,15,6 1 設 keys 又稱為監視哨 等於 numlist 0 i等於0 j等於len numlist 1,即如下 numlist 6,8,1,4,3,9,5,4,11,2,2,15,6 keys 6 i 0 j2 1...

python實現快速排序

coding utf 8 實現對列表中的數進行快速排序 importrandom 隨機生成乙個有1000整數的列表 number random.randint 1 1000 foriinrange 1000 列印原始列表 printnumber 單個列表快速排序函式 返回一次排序後的列表和所選取基數...