排序算法之選擇排序

選擇排序


其餘排序方法:選擇排序冒泡排序歸併排序快速排序插入排序希爾排序html


思想

對數組創建有序區和無序區,每次循環無序區找出最小/大值,記錄到有序區裏,直到無序區中無元素。python

圖解

借用一下百科的圖:數組

性能

選擇排序的比較次數爲n(n-1)/2,數據交換次數爲0~n-1,時間複雜度爲O(n^2)性能

代碼

Python:code

# 選擇排序
def selectionSort(arr):
    size = len(arr)
    for i in range(size):
        minIdx = i
        for j in range(i + 1, size):
            if arr[j] < arr[minIdx]:
                minIdx = j
        if minIdx != i:
            arr[i], arr[minIdx] = arr[minIdx], arr[i]

其餘排序方法:選擇排序冒泡排序歸併排序快速排序插入排序希爾排序htm

相關文章
相關標籤/搜索