Python程式中的選擇排序


在本文中,我們將學習選擇排序及其在 Python 3.x 或更早版本中的實現。

在**選擇排序**演算法中,透過遞迴地從未排序部分找到最小元素並將其插入到開頭來對陣列進行排序。在對給定陣列執行選擇排序期間,會形成兩個子陣列。

  • 已排序的子陣列。
  • 未排序的子陣列。

在選擇排序的每次迭代中,都會彈出未排序子陣列中的最小元素並將其插入到已排序的子陣列中。

讓我們看看該演算法的視覺化表示 -

現在讓我們看看該演算法的實現 -

示例

 線上演示

A = ['t','u','t','o','r','i','a','l']
for i in range(len(A)):
   min_= i
   for j in range(i+1, len(A)):
      if A[min_] > A[j]:
         min_ = j
   #swap
   A[i], A[min_] = A[min_], A[i]
# main
for i in range(len(A)):
   print(A[i])

輸出

a
i
l
o
r
t
t
u

在這裡,我們以升序獲得了演算法的輸出。Min_ 是當前值,它與所有其他值進行比較。該演算法的分析引數列在下面 -

**時間複雜度** - O(n^2)

**輔助空間** - O(1)

這裡所有變數都在全域性框架中宣告,如下面的影像所示 結論 -

結論

在本文中,我們學習了選擇排序及其在 Python 3.x 或更早版本中的實現。

更新於: 2019年9月26日

301 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告