最近想重新系統學習並總結一遍資料結構與演算法,先從最基礎的排序演算法開始吧
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...