資料結構 選擇排序

2021-09-17 02:39:21 字數 916 閱讀 5051

選擇排序

紅色表示當前最小值,黃色表示已排序序列,藍色表示當前位置。

選擇排序就是按照從左往右,或者從右向左,依次選出乙個最大的或者最小的。

例如:從左往右,依次選出最小的,放到最前面,依次選依次放,直到結尾。

"""選擇排序"""

n = len(alist)

for j in range(n - 1): # j產生0到n-2

min_index = j

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

if alist[min_index] > alist[i]:

min_index = i

alist[j], alist[min_index] = alist[min_index], alist[j]

if __name__ == '__main__':

li = [54, 26, 93, 17, 77, 31, 44, 55, 20]

select_sort(li)

print(li)

結果:

[54, 26, 93, 17, 77, 31, 44, 55, 20]

[17, 20, 26, 31, 44, 54, 55, 77, 93]

最優時間複雜度:o(n2)

最壞時間複雜度:o(n2)

穩定性:不穩定

資料結構 排序 選擇排序

選擇排序 所謂選擇排序,就是不斷從剩下的元素中選擇最小的元素放入前面,那麼 前面 我們就從下標為 0 i 0 的第乙個元素開始 此時我們假設下標為 0 的元素是最小的,minindex 0,minindex 就是最小值的索引 相應的剩下的元素則從 i 1 的位置開始,也就是從 1 開始,然後依次與 ...

資料結構 排序(選擇排序)

排序 選擇排序法 include include include include 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 ...

資料結構 選擇排序

選擇排序是一種比較直觀的排序方法 選擇排序的思想在於 預設公升序排序 在乙個陣列當中,選擇這個陣列當中最小的元素,將這個元素放在第一位,然後尋找第二小的元素,將這個元素放在第二位。以此類推,直到將這個陣列完成排序。這是乙個比較直觀的排序方法 選擇排序 演算法思想 在遍歷陣列的時候 找出陣列當中最小的...