您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么在Python中定義一個選擇排序算法,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
選擇排序
選擇排序比較好理解,好像是在一堆大小不一的球中進行選擇(以從小到大,先選最小球為例):
1. 選擇一個基準球
2. 將基準球和余下的球進行一一比較,如果比基準球小,則進行交換
3. 第一輪過后獲得最小的球
4. 在挑一個基準球,執行相同的動作得到次小的球
5. 繼續執行4,直到排序好
時間復雜度:O(n^2). 需要進行的比較次數為第一輪 n-1,n-2....1, 總的比較次數為 n*(n-1)/2
直接上代碼:
def selectedSort(myList): #獲取list的長度 length = len(myList) #一共進行多少輪比較 for i in range(0,length-1): #默認設置最小值得index為當前值 smallest = i #用當先最小index的值分別與后面的值進行比較,以便獲取最小index for j in range(i+1,length): #如果找到比當前值小的index,則進行兩值交換 if myList[j]<myList[smallest]: tmp = myList[j] myList[j] = myList[smallest] myList[smallest]=tmp #打印每一輪比較好的列表 print("Round ",i,": ",myList) myList = [1,4,5,0,6] print("Selected Sort: ") selectedSort(myList)
執行結果:
關于怎么在Python中定義一個選擇排序算法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。