python描述選擇排序

2021-08-11 21:08:06 字數 650 閱讀 7498

選擇排序,首先在未排序序列中找到最小或最大的元素,將其放到排序序列的開始位置。重複此過程。

選擇排序的主要優點與資料移動有關。如果某個元素位於正確的最終位置上,則它不會被移動。選擇排序每次交換一對元素,它們當中至少有乙個被移動最終位置上,因此對n個元素進行選擇排序總共進行至多n-1次交換。在所有完全依靠交換來移動元素的排序方法中,選擇排序是非常好的一種。

def

selection_sort

(alist):

n = len(alist)

# 需要進行n-1次選擇操作

for i in range(n-1):

# 記錄最小位置

min_index = i

# 從i+1位置到末尾選出最小資料

for j in range(i+1,n):

if alist[i] < alist[min_index]:

min_index = j

# 如果選擇出的資料不在正確位置,進行交換

if min_index != i:

alist[i] , alist[min_index] = alist[min_index],alist[i]

python描述氣泡排序

氣泡排序 bubble sort 是一種基於交換的排序演算法。重複地遍歷數列,一次比較兩個元素,如果它們的順序錯誤就將其交換。氣泡排序的具體原理如下 比較相鄰的元素。如果第乙個比第二個大,就交換二者 對每一對相鄰元素做同樣的操作,從開始第一對到結尾的最後一對。這步操作後,最後的元素即為最大的數。針對...

氣泡排序 python描述

原文 氣泡排序,有時也稱為下沉排序,是一種簡單的排序演算法,它反覆遍歷要排序的列表,比較沒對相鄰的專案,如果它們的順序不滿足條件則交換它們。重複遍歷列表,知道不需要交換,這時列表就是已排序的。其核心思想是 兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序記錄為止。比較相鄰的元素。如果第乙個比第...

Python 選擇排序

coding utf 8 選擇排序 在所有記錄中選擇最小的乙個元素,與第乙個記錄交換,依次,在其餘的記錄中選擇最小的元素與第二個元素交換 def sellectsort list list 4,1,9,13,34,26,10,7,4 m len list if m 2 如果是空表或只有乙個元素,返回...