首頁 後端開發 Python教學 如何用Python寫選擇排序演算法?

如何用Python寫選擇排序演算法?

Sep 19, 2023 am 08:16 AM
演算法 選擇排序 python編寫

如何用Python寫選擇排序演算法?

如何用Python寫選擇排序演算法?

選擇排序是一種簡單直觀的排序演算法,其基本思想是找到最小元素並將其放到已排序部分的末尾,然後從未排序部分中繼續尋找最小元素並重複這個過程,直到整個數組排序完成。

下面我們就來具體介紹如何用Python寫選擇排序演算法。

首先,我們定義一個函數select_sort來實作選擇排序。此函數接收一個陣列作為參數,並在原始數組上進行排序。函數內部使用兩個巢狀循環,外層循環用於遍歷數組,內層循環用於找到未排序部分中最小元素的索引。

程式碼如下:

def select_sort(arr):
    n = len(arr)
    for i in range(n-1):
        min_index = i
        for j in range(i+1, n):
            if arr[j] < arr[min_index]:
                min_index = j
        arr[i], arr[min_index] = arr[min_index], arr[i]
登入後複製

接下來,我們可以測試一下選擇排序演算法的效果。例如,對一個整數數組進行排序:

arr = [64, 25, 12, 22, 11]
select_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
    print("%d" % arr[i])
登入後複製

運行結果如下:

排序后的数组:
11
12
22
25
64
登入後複製

可以看到,選擇排序演算法成功地將輸入的數組進行了升序排序。

選擇排序演算法的時間複雜度為O(n^2),無論輸入資料的情況,它的時間複雜度都是一樣的。因此,在實際應用中,選擇排序演算法的效率較低,不適用於處理大規模資料的排序任務。

綜上所述,本文介紹如何以Python編寫選擇排序演算法,並給出了具體的程式碼範例。希望讀者能透過閱讀本文,掌握選擇排序演算法的基本原理和實作方法,並且能夠靈活運用到實際問題中。

以上是如何用Python寫選擇排序演算法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CLIP-BEVFormer:明確監督BEVFormer結構,提升長尾偵測性能 CLIP-BEVFormer:明確監督BEVFormer結構,提升長尾偵測性能 Mar 26, 2024 pm 12:41 PM

CLIP-BEVFormer:明確監督BEVFormer結構,提升長尾偵測性能

使用C++實現機器學習演算法:常見挑戰及解決方案 使用C++實現機器學習演算法:常見挑戰及解決方案 Jun 03, 2024 pm 01:25 PM

使用C++實現機器學習演算法:常見挑戰及解決方案

探究C++sort函數的底層原理與演算法選擇 探究C++sort函數的底層原理與演算法選擇 Apr 02, 2024 pm 05:36 PM

探究C++sort函數的底層原理與演算法選擇

改進的檢測演算法:用於高解析度光學遙感影像目標檢測 改進的檢測演算法:用於高解析度光學遙感影像目標檢測 Jun 06, 2024 pm 12:33 PM

改進的檢測演算法:用於高解析度光學遙感影像目標檢測

人工智慧可以預測犯罪嗎?探索CrimeGPT的能力 人工智慧可以預測犯罪嗎?探索CrimeGPT的能力 Mar 22, 2024 pm 10:10 PM

人工智慧可以預測犯罪嗎?探索CrimeGPT的能力

利用Python編寫遊戲程序,打造自己的遊戲作品 利用Python編寫遊戲程序,打造自己的遊戲作品 Jan 19, 2024 am 10:30 AM

利用Python編寫遊戲程序,打造自己的遊戲作品

PHP演算法解析:找出數組中缺少數字的高效方法 PHP演算法解析:找出數組中缺少數字的高效方法 Mar 02, 2024 am 08:39 AM

PHP演算法解析:找出數組中缺少數字的高效方法

演算法在 58 畫像平台建置中的應用 演算法在 58 畫像平台建置中的應用 May 09, 2024 am 09:01 AM

演算法在 58 畫像平台建置中的應用

See all articles