跳至主要內容

算法教程

LincZero小于 1 分钟

算法教程

参考:

刷题思路

image-20240218201440687

算法复杂度

  • 复杂度分析
    • 时间复杂度
    • 空间复杂度
  • 事后统计法
    • 要写程序,耗费精力,不方便
  • 大O表示法

image-20240218202626160

  • 工程实践上,n3一般就不可接受了,而n2也需要再三考量
  • 其中,非确定多项式问题,有个词叫 “NP”

image-20240218202948120

  • 原地工作,O(1)
  • 常见的主要是O(1)、O(n)。有时能看到平方,而对数阶和线性对数阶都很少见

什么是递归

image-20240218203245352

我们应该根据实际情况来选择,是否需要使用递归的方式来实现。而且从理论上来说,所有的递归代码都可以把它转换成我们常说的循环的方式来解决

有时用递归解决完后,面试官会要求用循环改写一遍