用Python編寫一個數值資料集的排序演算法?


Python中的數值資料集用於數值資料型別。整數的排序演算法,包括以下Python內容:

  • 氣泡排序
  • 希爾排序
  • 選擇排序

Python中的氣泡排序

氣泡排序是一種基於比較的排序。相鄰元素進行比較和交換以形成正確的序列。

示例

def bubblesort(myList): # Swap the elements to arrange in order for iter_num in range(len(myList)-1,0,-1): for idx in range(iter_num): if myList[idx]>myList[idx+1]: temp = myList[idx] myList[idx] = myList[idx+1] myList[idx+1] = temp # Unsorted List myList = [40, 23, 7, 49, 32, 98, 76, 48, 87] print("Unsorted List = ",myList) # Calling the function bubblesort(myList) print("Sorted List = ",myList)

輸出

Unsorted List =  [40, 23, 7, 49, 32, 98, 76, 48, 87]
Sorted List =  [7, 23, 32, 40, 48, 49, 76, 87, 98]

Python中的希爾排序

對於希爾排序,定義一個函式,並將列表和列表長度作為引數。此列表按特定數量的元素排序,其中元素數量是最大值。重複此操作,直到元素數量具有最小值。

示例

def shell_sort(my_list, list_len): interval = list_len // 2 while interval > 0: for i in range(interval, list_len): temp = my_list[i] j = i while j >= interval and my_list[j - interval] > temp: my_list[j] = my_list[j - interval] j -= interval my_list[j] = temp interval //= 2 my_list = [40, 23, 7, 49, 32, 98, 76, 48, 87] list_len = len(my_list) print ("The list before sorting is :") print(my_list) shell_sort(my_list, list_len) print ("\nThe list after performing shell sorting is :") print(my_list)

輸出

The list before sorting is :
[40, 23, 7, 49, 32, 98, 48, 87]

The list after performing shell sorting is :
[7, 23, 32, 40, 48, 49, 87, 98]

Python中的選擇排序

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

  • 已排序的子陣列

  • 未排序的子陣列。

以下是程式碼:

示例

A = ['h','o','w','a','r','e','y','o','u'] 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
e
h
o
o
r
u
w
y

更新於:2022年8月12日

701 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.