假设一个算法时间复杂度的递推式是 $T(n) = 2T(n - 1) + 1$($n$ 为正整数),且 $T(0) = 1$,那么这个算法的时间复杂度是( )。
分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。
分析复杂度时注意外层循环和内层循环的关联。例如内外两层都到n的循环不一定是O(n²),要看内层是否每次都在缩小。
【考点】递推关系求解|时间复杂度分析|指数级增长识别
GESP 七级"算法效率分析"模块。命题人故意把看似简单的递推式摆出来——七级课标要求能判断常见算法复杂度,但学生普遍只背结论不会推导。这道题卡住的就是"看到递归就慌,不会展开"的弱点。