基礎排序演算法 選擇排序(Go語言)

2021-10-18 07:37:13 字數 605 閱讀 7625

最近想重新系統學習並總結一遍資料結構與演算法,先從最基礎的排序演算法開始吧

package main

import

"fmt"

func

selectionsort

(arr [

]int)[

]int

}//2、然後arr[minindex]與陣列的arr[i]進行交換

temp := arr[minindex]

arr[minindex]

= arr[i]

arr[i]

= temp

}return arr

}func

main()

sortarr :=

selectionsort

(arr)

fmt.

println

(sortarr)

}

輸出:

[1 2 3 4 5 6 7 8]
選擇排序演算法的時間複雜度是o(n^2)空間複雜度是o(1)

演算法 選擇排序(go語言實現)

選擇排序與氣泡排序的時間複雜度相同。因為一直在選擇最小的數字,所以叫選擇排序 理論部分 1,將設陣列0號位為陣列最小值,將其定義為minnum 此時 minnum 5 2,遍歷陣列,將每一項和 minnum 對比,如果小於minnum,則將其與第一項調換位置 並重新賦值 minnum 變換為此時 m...

go語言實現排序 選擇排序

大家都知道我們一般不會用直接選擇排序,因為時間複雜度比較高,相信大家對直接插入排序都不陌生,就是每次確定乙個當前的最小值或者最大值,我也在這個基礎上進行了一點小改進,即每次都確定乙個最大值和最小值 func selectsort nums int,n int int nums min nums fi...

go語言排序之選擇排序 氣泡排序 快速排序

即每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。package main import fmt 選擇排序 func main...