关注“极客时间”微信公众号,在后台回复“算法试看”,即可获取试看课程的 PDF 课件。
完整的 PDF 课件地址,购买课程后在非试看章节(第七节课开始)下面可获取下载链接。
作者回复: 嗯嗯,加油。
作者回复: 看 foo 的具体实现。如果 foo 的操作是 o(1) 的,则整体还是 o(n)。如果 foo 本身就是 o(n),那最后就是 o(n^2)
作者回复: O都是估算复杂度的数量级,所以没底也差不多。
作者回复: 是指数级的复杂度,但是并不代表就是正好等于 2^n,时间复杂度本来就是数量级上的粗略估计。 针对你上面的例子:6的时候的确如你所说没有 n^2 大,但是如果10或者20的时候,整体复杂度肯定高于 n^2
作者回复: 加油↖(^ω^)↗
作者回复: https://zh.wikipedia.org/wiki/%E4%B8%BB%E5%AE%9A%E7%90%86 : 主定理要求 T(n) = aT(n/b) + f(n) 中的 b>1,所以这里不能用主定理。直接从递推公式分析: F(n) = F(n-1) + F(n-2) 每次都是两倍的计算,不断展开。
作者回复: 👍🏻👍🏻
作者回复: Correct!
作者回复: 对的。假设你的循环体每层都是 N 的循环,且没有一些特殊的循环终止条件。
作者回复: 算法训练营是加强版,且有课程跟进、圈子、班主任和助教,所以更加能帮助你提高和坚持练习。