快速排序,快速選擇排序,選擇排序的區別
阿新 • • 發佈:2018-11-25
選擇排序是對整體序列進行排序
快速排序也是對整體序列進行排序
快速選擇演算法是快速在未排序的陣列中尋找第k小/大的元素
快速選擇演算法和快速排序的思想是找基準點 , 在基準點左邊的都比他小,然後在基準點右邊的都比大這樣
但是這兩個演算法的目的不同
所以實現起來會有不同 快速選擇演算法只要選擇一側進行迭代就好了 快速排序要兩側都迭代
選擇排序:保持最小元素在最左側,用最左側的元素依次和右邊的元素比較,誰小誰放在左邊。 步驟: 1.在未排序序列中找到最小元素,存放到排序序列的起始位置。 2.再從剩餘未排序元素中繼續尋找最小元素,然後放到已排序序列的末尾。 3.以此類推,直到所有元素均排序完畢。 ''' class Solution(object): def selectSort(self,a): for i in range(len(a)): #一次for迴圈,直接從i+1計算,就不算i前面已經排好序的數值 for j in range(i + 1, len(a)): #一次for迴圈確定一個最小值.通過讓i對應的值和i之後的每個值進行比較,讓a[i]處於最小值 if a[i] > a[j]: #保持a[i]最小 a[i],a[j] = a[j], a[i] return a my_solution = Solution() a = [9,3,8,5] b = my_solution.selectSort(a) print("sequence is:", b) --------------------- 作者:灣區Python 來源:CSDN 原文:https://blog.csdn.net/BTUJACK/article/details/80548249 版權宣告:本文為博主原創文章,轉載請附上博文連結!
快速排序和歸併排序的區別,Python程式碼實現
https://blog.csdn.net/BTUJACK/article/details/84196476
認識你是我們的緣分,同學,等等,學習人工智慧,記得關注我。
微信掃一掃
關注該公眾號
《灣區人工智慧》