复杂度优化

current is fine, next will be better

降低算法复杂度

时间复杂度

时间复杂度的排序依次是:

循环优化

循环是造成时间复杂度增加的一个重要原因,循环优化的基本原则是尽量减少循环过程中的计算量,多重循环时,应当尽量将内层循环的计算提到上一层

空间复杂度

圈复杂度

圈复杂度是指代码中分支语句的数量,每个while/for/if/switch都会增加圈复杂度,我们对代码的要求是尽可能降低圈复杂度

内存管理

  • 如果能够提前知道所需空间的大小,尽量分配空间,push_back毕竟是函数调用,浪费时间

记忆化

记忆化是指我们通过牺牲一部分空间,保存计算中间变量,当再次遇到相同的计算参数时,我们可以不需要重新计算,只需读取保存的结果即可。记忆化最典型的应用就是动态规划。

0%