road-of-leetcode

一些有用的小知识

常用函数阶

符号 名称
O(1) 常数(阶,下同)
O(log n) 对数
O[(log n)^c] 多对数
O(n) 线性,次线性
O[n(log^c n)] log^c n 为迭代对数
O[n(log n)] 线性对数,或对数线性、拟线性、超线性
O(n^2) 平方
O(n^c) 多项式,有时叫作“代数”(阶)
O(c^n) 指数,有时叫作“几何”(阶)
O(n!) 阶乘,有时叫做“组合”(阶)

关于 BFS & DFS & 递归

一般来说 BFS 和 DFS 都是用递归来实现的.

递归的性能优化奥义就在于 “何时结束递归并返回结果”.

相对于这个点的优化一般在于开外存, 将计算好的结果缓存, 从而减少重复计算次数, 让多余的递归分支尽早返回.