這篇文章將為大家詳細(xì)講解有關(guān)怎么在Python中定義一個(gè)選擇排序算法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
衡南ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!選擇排序
選擇排序比較好理解,好像是在一堆大小不一的球中進(jìn)行選擇(以從小到大,先選最小球?yàn)槔?/p>
1. 選擇一個(gè)基準(zhǔn)球
2. 將基準(zhǔn)球和余下的球進(jìn)行一一比較,如果比基準(zhǔn)球小,則進(jìn)行交換
3. 第一輪過(guò)后獲得最小的球
4. 在挑一個(gè)基準(zhǔn)球,執(zhí)行相同的動(dòng)作得到次小的球
5. 繼續(xù)執(zhí)行4,直到排序好
時(shí)間復(fù)雜度:O(n^2). 需要進(jìn)行的比較次數(shù)為第一輪 n-1,n-2....1, 總的比較次數(shù)為 n*(n-1)/2
直接上代碼:
def selectedSort(myList): #獲取list的長(zhǎng)度 length = len(myList) #一共進(jìn)行多少輪比較 for i in range(0,length-1): #默認(rèn)設(shè)置最小值得index為當(dāng)前值 smallest = i #用當(dāng)先最小index的值分別與后面的值進(jìn)行比較,以便獲取最小index for j in range(i+1,length): #如果找到比當(dāng)前值小的index,則進(jìn)行兩值交換 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)
執(zhí)行結(jié)果:
關(guān)于怎么在Python中定義一個(gè)選擇排序算法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)頁(yè)題目:怎么在Python中定義一個(gè)選擇排序算法-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article32/ccpesc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)站收錄、App開(kāi)發(fā)、定制網(wǎng)站、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容