算法 | 基础 - [查找]
@
§1 各排序算法的对比
| 稳定性 | 时间复杂度 | 空间复杂度 | ||
|---|---|---|---|---|
| 选择 | ×(交换时可能跨元素交换) | \(O(n^2 )\) | \(O(1)\) | |
| 冒泡 | √(相等时不交换) | \(O(n^2 )\) | \(O(1)\) | |
| 插入 | √(相等时不交换) | \(O(n^2 )\) | \(O(1)\) | |
| 归并 | √(优先归并左侧) | \(O(n * \log{n})\) | \(O(n)\) | 需要使用稳定性时使用 |
| 快速 | ×(交换时可能跨元素交换) | \(O(n * \log{n})\) | \(O(\log{n})\) | 优先选择,常数项最低 |
| 堆 | ×(交换时可能跨元素交换) | \(O(n * \log{n})\) | \(O(1)\) | 空间限制极大时使用 |
| 计数 | √ | |||
| 基数 | √ |
§2 算法
遍历
复杂度:\(O(n)\)
二分
前提:
需要判断可以舍掉二分后的其中一边
解决全局问题需要全局有序
可以查找元素是否存在:找到即返回
可以查找最左侧的元素位置:二分到结束
复杂度:\(O(\log{n})\)
二分:局部最小
数组中,某元素 i,(i-1 > i) && (i+1 > i) 即局部最小

复杂度:\(O(\log{n})\)

浙公网安备 33010602011771号