数据结构与算法知否知否系列
algorithm
算法解决的是时间、空间上的问题,一般都会谈及复杂度概念,例如 Redis 的 incr 命令,我们都知道它是 O(1) 复杂度,算法就是时间、空间上的一个平衡艺术。
Q1: 快排算法复杂度是多少?
O(n2)
Q2: 常见复杂度有哪些?
- O(1):基本算法,加、减、乘、除等
- O(logn):二分查找
- O(n^1/2):n 的 1/2 次方求解,约数枚举
- O(n):线性查找
- O(n^2):朴素最近点
- O(n^3):Floyd 最短路、普通矩阵乘法
- O(nlogn):归并排序、快速排序的期望复杂度、基于比较排序的算法下界
- O(2^n):枚举全部子集数量