資料結構 演算法實踐 排序 選擇排序 選擇排序

2022-05-18 07:30:58 字數 1456 閱讀 4092

回主目錄

排序》選擇排序》選擇排序

list:

0.概念+偽**+示例分析

1.選擇排序實現

2.question

0 start

基本概念:

維基百科

偽**:

function selectsort(a : list[1..n])  

} swap(a[index], a[max_index ]) #將最大的換到後面

index = index -1

}}

示例:[49, 38, 65, 97, 76, 13, 27]

current index 6 value= 27 max index: 3 value= 97

exchange -> [49, 38, 65, 27, 76, 13, 97]

current index 5 value= 13 max index: 4 value= 76

exchange -> [49, 38, 65, 27, 13, 76, 97]

current index 4 value= 13 max index: 2 value= 65

exchange -> [49, 38, 13, 27,65, 76, 97]

current index 3 value= 27 max index: 0 value= 49

exchange -> [27, 38, 13, 49, 65, 76, 97]

current index 2 value= 13 max index: 1 value= 38

exchange -> [27, 13, 38, 49, 65, 76, 97]

current index 1 value= 13 max index: 0 value= 27

exchange -> [13, 27, 38, 49, 65, 76, 97]

done

1 start

實現**

def select_sort(l):

index = len(l) -1

while index:

max_index = index

for i in range(index):

if l[i] > l[max_index]:

max_index = i

if l[max_index] > l[index]:

l[index],l[max_index] = l[max_index], l[index]

index -= 1

2.start

a.概念,過程描述?

b.交換次數,比較次數,賦值次數?

c. 時間複雜度?空間複雜度?是否是穩定排序?

d.適用場景,何種情況下表現最優

資料結構 排序 選擇排序演算法

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。選擇排序的主要優點與資料移動有關。如果某...

資料結構 排序演算法之選擇排序

一 選擇排序 最差的排序演算法 在選擇排序中,假定我們需要公升序,因此在每次排序中,需要找到最大的元素,將其放在最後,在每一次的迴圈中,都是將最大的元素放在最後,因此對於資料較多的陣列,迴圈的次數將與陣列中元素的個數一致,因此,在對於這種陣列進行排序時,將十分的浪費時間。有關選擇排序的思路,如下所示...

資料結構 排序演算法(2) 選擇排序

表現最穩定的排序演算法之一,因為無論什麼資料進去都是o n2 的時間複雜度,所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位...