Go语言算法复杂度分析:时间与空间
Go语言算法复杂度分析:时间与空间
1. 复杂度表示
// O(1) - 常数时间 func getFirstElement(arr []int) int { return arr[0] } // O(n) - 线性时间 func findMax(arr []int) int { max := arr[0] for _, v := range arr { if v > max { max = v } } return max } // O(n^2) - 平方时间 func bubbleSort(arr []int) { n := len(arr) for i := 0; i < n-1; i++ { for j := 0; j < n-i-1; j++ { if arr[j] > arr[j+1] { arr[j], arr[j+1] = arr[j+1], arr[j] } } } }2. 总结
算法复杂度分析是评估算法效率的重要工具,应重点关注最坏情况下的时间复杂度和空间复杂度。
