python快排演算法詳解

2022-10-04 17:54:06 字數 975 閱讀 7573

快排是python經典演算法之一。

1、下面講解的是什麼是快排和快排的圖示。

2、快排是一種解決排序問題的運算方法。

3、快排的原理:在陣列中任意選擇乙個數字作為基準,用陣列的資料和基準資料進行比較,比基準數字打的數字的基準數字的右邊,比基準數字小的數字在基準數字的左邊,

第一次排序之後分為比基準資料大或比基準資料小兩個部分,用剛開始的方法繼續排序,直到每個排序分組中只有乙個資料或沒有資料為止。

4、下面以[ 7程式設計客棧 91 23 1 6 3 79 2 ]陣列為例子,進行快排運算。

5、選基準:選擇陣列裡的第乙個數字(可以選擇任意數字)為基準數字

6、從j指標開始和基準資料比較之後,其中2比7小,所以將2程式設計客棧排到7的左邊。此時進行了交叉移動,所以下乙個比較的是i指標對應的資料。

7、iwww.cppcns.com指標與基準資料7比較,其中91比7大,所以將91排到右邊,此時又一次進行了交叉移動,所以下乙個比較的是j指標對應的資料。

8、j指標與基準資料7比較,其中79比7大,所以將79排到右邊,此時是同側移動,所以下乙個比較的是j指標對應的資料。

9、j指標與基準資料7比較,其中3比7小,所以將3排到左邊,此時又一次進行了交叉移動,所以下乙個比較的是i指標rhozy對應的資料。

10、i指標與基準資料7比較,其中23比7大,所以將23排到右邊,此時又一次進行了交叉移動,所以下乙個比較的是j指標對應的資料。

11、j指標與基準資料7比較,其中6比7小,所以將6排到左邊,此時又一次進行了交叉移動,所以下乙個比較的是i指標對應的資料。

12、i指標與基準資料7比較,其中1比7小,所以將1排到右邊,此時所有的資料都進行了一次排序。

13、第一趟排序之後的結果如下。根據上面的方法,基準資料的左右兩側繼續快排,直到陣列沒有資料或陣列資料為0

14、最後的排序結果如下圖所示:

本文標題: python快排演算法詳解

本文位址: /jiaoben/python/253722.html

python實現快排演算法 python快排演算法詳解

快排是python經典演算法之一。1 下面講解的是什麼是快排和快排的圖示。2 快排是一種解決排序問題的運算方法。3 快排的原理 在陣列中任意選擇乙個數字作為基準,用陣列的資料和基準資料進行比較,比基準數字打的數字的基準數字的右邊,比基準數字小的數字在基準數字的左邊,第一次排序之後分為比基準資料大或比...

python實現快排演算法 Python實現快排

挖坑法思路 取乙個元素p 第乙個元素 使元素p歸位 列表被p分成兩部分,左邊的數一定不大於p,右邊的數一定不小於p 遞迴完成排序。python 示例 lst 5,7,4,3,1,2,9,8 def quick sort d,l,r if l r m partition d,l,r quick sor...

2011 4 15 快排演算法,堆排演算法

template int get pivot index value type array,int start,int end value type pivot array start while start end while startpivot end array start array en...