欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python排序算法之選擇排序定義與用法示例

 更新時(shí)間:2018年04月29日 11:31:28   作者:徐文  
這篇文章主要介紹了Python排序算法之選擇排序定義與用法,簡單描述了選擇排序的功能、原理,并結(jié)合實(shí)例形式分析了Python定義與使用選擇排序的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python排序算法之選擇排序定義與用法。分享給大家供大家參考,具體如下:

選擇排序

選擇排序比較好理解,好像是在一堆大小不一的球中進(jìn)行選擇(以從小到大,先選最小球?yàn)槔?/p>

1. 選擇一個(gè)基準(zhǔn)球

2. 將基準(zhǔn)球和余下的球進(jìn)行一一比較,如果比基準(zhǔn)球小,則進(jìn)行交換

3. 第一輪過后獲得最小的球

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的長度
  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é)果:

PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:

在線動(dòng)畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論