Сортировка - один из фундаментальных алгоритмов в компьютерных науках. В
этой статье рассмотрим основные алгоритмы сортировки, их временную и
пространственную сложность, а также реализацию на языке Go (Golang). Сложность: Пространственная сложность: O(1) go func bubbleSort(arr []int) {
n := len(arr)
for i := 0; i < n-1; i++ {
swapped := false
for j := 0; j < n-i-1; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = true
}
}
if !swapped {
break
}
}
} Сложность: Пространственная сложность: O(1) go func selectionSort(arr []int) {
n := len(arr)
for i := 0; i < n-1; i++ {
minIdx := i
for j := i + 1; j < n; j++ {
if arr[j] < arr[minIdx] {
minIdx = j
}
}
arr[i], arr[minIdx] = arr[minIdx], arr[i]
}
} Сложность: Пространственная сложность: O(1) go func inse