最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

選擇排序

選擇排序比較好理解,好像是在一堆大小不一的球中進行選擇(以從小到大,先選最小球為例):

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

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

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

4. 在挑一個基準(zhǔn)球,執(zhí)行相同的動作得到次小的球

5. 繼續(xù)執(zhí)行4,直到排序好

時間復(fù)雜度:O(n^2).  需要進行的比較次數(shù)為第一輪 n-1,n-2....1, 總的比較次數(shù)為 n*(n-1)/2

直接上代碼:

def selectedSort(myList):
  #獲取list的長度
  length = len(myList)
  #一共進行多少輪比較
  for i in range(0,length-1):
    #默認(rèn)設(shè)置最小值得index為當(dāng)前值
    smallest = i
    #用當(dāng)先最小index的值分別與后面的值進行比較,以便獲取最小index
    for j in range(i+1,length):
      #如果找到比當(dāng)前值小的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)

執(zhí)行結(jié)果:

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

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
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īng)典教程

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

相關(guān)文章

  • pytorch如何自定義數(shù)據(jù)集

    pytorch如何自定義數(shù)據(jù)集

    這篇文章主要介紹了pytorch自定義數(shù)據(jù)集,在識別手寫數(shù)字的例子中,數(shù)據(jù)集是直接下載的,但如果我們自己收集了一些數(shù)據(jù),存在電腦文件夾里,我們該如何把這些數(shù)據(jù)變?yōu)榭梢栽赑yTorch框架下進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)集呢,即如何自定義數(shù)據(jù)集呢,需要的朋友可以參考下
    2024-01-01
  • Python爬蟲之requests庫基本介紹

    Python爬蟲之requests庫基本介紹

    大家好,本篇文章主要講的是Python爬蟲之requests庫基本介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • python比較2個xml內(nèi)容的方法

    python比較2個xml內(nèi)容的方法

    這篇文章主要介紹了python比較2個xml內(nèi)容的方法,涉及Python操作XML文件的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Python中yield關(guān)鍵字及與return的區(qū)別詳解

    Python中yield關(guān)鍵字及與return的區(qū)別詳解

    這篇文章主要介紹了Python中yield關(guān)鍵字及與return的區(qū)別詳解,帶有 yield 的函數(shù)在 Python 中被稱之為 generator生成器,比如列表所有數(shù)據(jù)都在內(nèi)存中,如果有海量數(shù)據(jù)的話將會非常耗內(nèi)存,想要得到龐大的數(shù)據(jù),又想讓它占用空間少,那就用生成器,需要的朋友可以參考下
    2023-08-08
  • python利用datetime模塊計算時間差

    python利用datetime模塊計算時間差

    python中通過datetime模塊可以很方便的計算兩個時間的差,datetime的時間差單位可以是天、小時、秒,甚至是微秒,下面我們就來詳細(xì)看下datetime的強大功能吧
    2015-08-08
  • Python讀寫二進制文件的示例詳解

    Python讀寫二進制文件的示例詳解

    在Python編程中,我們經(jīng)常需要處理各種類型的文件,其中包括二進制文件,本文將詳細(xì)介紹如何使用Python讀寫二進制文件,并提供一些實際應(yīng)用的示例,希望對大家有所幫助
    2024-01-01
  • Python使用pydub模塊轉(zhuǎn)換音頻格式以及對音頻進行剪輯

    Python使用pydub模塊轉(zhuǎn)換音頻格式以及對音頻進行剪輯

    這篇文章主要給大家介紹了關(guān)于Python使用pydub模塊轉(zhuǎn)換音頻格式以及對音頻進行剪輯的相關(guān)資料pydub是python的高級一個音頻處理庫,可以讓你以一種不那么蠢的方法處理音頻。需要的朋友可以參考下
    2021-06-06
  • git查看、創(chuàng)建、刪除、本地、遠程分支方法詳解

    git查看、創(chuàng)建、刪除、本地、遠程分支方法詳解

    這篇文章主要介紹了git查看、創(chuàng)建、刪除、本地、遠程分支方法詳解,需要的朋友可以參考下
    2020-02-02
  • python matplotlib餅狀圖參數(shù)及用法解析

    python matplotlib餅狀圖參數(shù)及用法解析

    這篇文章主要介紹了python matplotlib餅狀圖參數(shù)及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • python實現(xiàn)截取屏幕保存文件,刪除N天前截圖的例子

    python實現(xiàn)截取屏幕保存文件,刪除N天前截圖的例子

    今天小編就為大家分享一篇python實現(xiàn)截取屏幕保存文件,刪除N天前截圖的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評論

绥中县| 洪雅县| 兴义市| 通道| 根河市| 金湖县| 盐津县| 犍为县| 徐水县| 普陀区| 奎屯市| 八宿县| 顺义区| 开化县| 丰都县| 云霄县| 志丹县| 屏东县| 金秀| 德州市| 新竹县| 浏阳市| 尉犁县| 洱源县| 甘泉县| 龙南县| 花垣县| 石首市| 左贡县| 安塞县| 蓝田县| 调兵山市| 耿马| 互助| 岳池县| 京山县| 新乡县| 福清市| 宽城| 安陆市| 葵青区|