Python 實(shí)現(xiàn)選擇排序的算法步驟
選擇排序算法步驟:
找到數(shù)組中最小的那個(gè)元素中,
將它和數(shù)組的第一個(gè)元素交換位置,
在剩下的元素中找到最小的元素,將它和數(shù)組的第二個(gè)元素交換位置,
如此往復(fù),知道將整個(gè)數(shù)組排序。
逐步分析:
假設(shè)一個(gè)數(shù)組有 6 個(gè)元素,
[5, 1, 4, 3, 2, 6]
第 1 個(gè)元素為 5,與剩余 5 個(gè)元素相比,1 是最小的元素,所以 5 和 1 交換位置,
[1, 5, 4, 3, 2, 6]
第 2 個(gè)元素為 5,與剩余 4 個(gè)元素相比, 2 是最小的元素,所以 5 和 2 交換位置,
[1, 2, 4, 3, 5, 6]
第 3 個(gè)元素為 4,與剩余 3 個(gè)元素相比, 3 是最小的元素,所以 4 和 3 交換位置,
[1, 2, 3, 4, 5, 6]
不斷重復(fù)直到排好序。
def select_sort(arr): # 索引從 0 到 n-2 for i in range(len(arr) - 1): # 最小元素的索引 min = i # min 與從 i+1 到 n 的元素比較 j = i + 1 while j < len(arr): if arr[min] > arr[j]: # 找到最小的元素 min = j j += 1 # 交換位置 arr[i], arr[min] = arr[min], arr[i] a = [5, 1, 4, 3, 2, 6] select_sort(a) print(a)
總結(jié)
以上所述是小編給大家介紹的Python 實(shí)現(xiàn)選擇排序的算法步驟,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Python實(shí)現(xiàn)插入排序和選擇排序的方法
- Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例
- Python排序算法之選擇排序定義與用法示例
- Python排序搜索基本算法之選擇排序?qū)嵗治?/a>
- Python tkinter 樹(shù)形列表控件(Treeview)的使用方法
- python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5樹(shù)形結(jié)構(gòu)控件QTreeWidget詳細(xì)使用方法與實(shí)例
- 一行python實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的方法
- python實(shí)現(xiàn)樹(shù)形打印目錄結(jié)構(gòu)
- Python如何生成樹(shù)形圖案
- Python 選擇排序中的樹(shù)形選擇排序
相關(guān)文章
python polars數(shù)據(jù)科學(xué)庫(kù)對(duì)比Pandas優(yōu)勢(shì)分析
這篇文章主要為大家介紹了python polars數(shù)據(jù)科學(xué)庫(kù)對(duì)比Pandas優(yōu)勢(shì)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01談一談數(shù)組拼接tf.concat()和np.concatenate()的區(qū)別
今天小編就為大家分享一篇談?wù)剶?shù)組拼接tf.concat()和np.concatenate()的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python神器之使用watchdog監(jiān)控文件變化
這篇文章主要為大家詳細(xì)介紹了Python中的神器watchdog以及如何使用watchdog監(jiān)控文件變化,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2023-12-12PyTorch如何搭建一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)
這篇文章主要介紹了PyTorch如何搭建一個(gè)簡(jiǎn)單的網(wǎng)絡(luò),幫助大家更好的理解和學(xué)習(xí)PyTorch,感興趣的朋友可以了解下2020-08-08pyautogui自動(dòng)化控制鼠標(biāo)和鍵盤操作的步驟
這篇文章主要介紹了pyautogui自動(dòng)化控制鼠標(biāo)和鍵盤操作的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04tensorflow-gpu安裝的常見(jiàn)問(wèn)題及解決方案
這篇文章主要介紹了tensorflow-gpu安裝的常見(jiàn)問(wèn)題及解決方案,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧,需要的朋友可以參考下2020-01-01