斐波那契数列的递归定义
视频给出了斐波那契数列的标准递归形式:对于 ,每一项等于前两项之和,即 ;同时定义了基准情况 和 。这是理解后续递归树构建的基础。
贪心学院 Greedy AI · YouTube · 3:47
本视频片段讲解了如何利用递归树分析斐波那契数列递归算法的时间复杂度。讲师首先以计算 为例,在白板上逐步绘制出递归展开树,直观展示了朴素递归中存在的严重重复计算问题。随后,讲师阐明了递归树“自上而下拆分、自底向上汇总”的运行机制,并提出了核心分析方法:将树中每个节点视为一次单位计算,通过统计树的总节点数来评估时间复杂度。片段最后,讲师开始尝试按层寻找节点数量的规律(如第一层为 ),为推导指数级复杂度做铺垫。 本片段用 、 的递归例子,画出以 为根的二叉递归树,逐层统计节点数为 、、、,并说明总节点数相当于把这些层相加。讲解者进一步举例 +...+,得出该递归算法时间复杂度为 ,并将其称为指数级复杂度。结尾说明这是用树来计算递归算法时间复杂度的方法,随后转入片尾品牌动画。
在学习检查器中查看要点和时刻,或切换阅读标签查看完整笔记。
依据视频画面与讲解整理,并非逐字语音转写。
视频开篇在白板上展示了斐波那契数列的前几项(1, 1, 2, 3, 5, 8...)及其递归定义公式 和基准条件 。讲师设定了一个具体的计算目标:求解 。
为了直观展示计算 的过程,讲师开始绘制递归树。根据公式, 被拆解为子节点 和 。接着, 进一步拆解为 和 , 拆解为 和 。随着树向下生长,可以清晰地看到诸如 、、 等节点在不同分支上被反复生成。这一视觉过程深刻揭示了朴素递归算法中存在的大量重复计算问题。
在画完部分递归树后,讲师解释了这棵树的完整含义。它不仅代表了自上而下的问题分解(“递”),还隐含了自下而上的结果汇总(“归”)。例如,一旦底层的 和 计算完毕,它们的值相加即可得到父节点 的值;同理, 和 的值相加最终得出根节点 的结果。
基于上述理解,讲师提出了分析此类递归算法时间复杂度的核心方法:将递归树中的每一个节点视为一次“单位的计算”。因此,评估整个算法的执行代价,就转化为了一个简单的计数问题——统计这棵递归树中所有节点(包括内部节点和叶子节点)的总数。
为了计算总节点数,讲师开始尝试寻找树中节点分布的规律。他首先观察第一层(根节点层),发现只有 1 个节点,并将其数学化表示为 。随后,讲师准备继续分析第二层的节点数量,试图通过逐层累加的方式求出整棵树的节点总和,从而推导出算法的时间复杂度。
(注:视频在讲师刚提及“然后呢第二个”时结束,未展示后续的第二层分析及最终的复杂度求和结果。)
这一段从已经画好的递归树出发,讨论 、 这一类递归调用展开后的规模。画面右侧是一棵以 为根的二叉树,讲解者从上往下逐层指读:第二层有 2 个节点,第三层有 4 个节点,第四层有 8 个节点,并在树旁依次写出 、、、。这里的数学依据很直接:每一次递归调用都会分裂成两个子调用,所以层节点数按 2 的幂增长。
接着,讲解者把“每层按 2 的幂增加”这一观察上升为整棵树的规模问题:如果把这棵树全部画出来,深度是多少,最后的叶节点有多少。视频此时没有给出严格的形式化证明,而是用直观计数说明,若按完全二叉树方式延展,底层规模会达到 这一量级。这一步的作用是把单层规律过渡到“整棵树总节点数”的估计。
随后,讲解者补充一个重要区分:因为递归基是 ,实际画图时没有必要把整棵树全部展开;但从理论分析角度,仍然要按“这么多节点”来估计规模。也就是说,画面中的省略号只是绘图简化,不改变复杂度分析的对象。这里对应的方法论是:用递归树的理论节点总数来代表递归调用次数。
在此基础上,讲解者把问题转化为求和:整棵树的节点数等于各层节点数相加。为了说明这种求和的增长趋势,他举了一个具体例子,。这个等式本身是有限几何级数求和的典型形式,视频用它来支撑一个结论:当层数随输入规模增长时,总节点数也由最高次幂主导,因此时间复杂度可以写成 。白板左下此时写出 ,把前面的树形计数收束成一个渐近结论。
最后,讲解者给这一结果命名: 属于“指数级的复杂度”。随后他用一句话总结本段方法——这是通过一棵树来表示或计算递归算法时间复杂度的解法,并预告下一部分将讨论递归函数的空间复杂度。到约 99 秒后,教学画面结束,转为品牌片尾动画,不再包含新的数学内容。
视频给出了斐波那契数列的标准递归形式:对于 ,每一项等于前两项之和,即 ;同时定义了基准情况 和 。这是理解后续递归树构建的基础。
以计算 为例,将递归过程可视化为一棵二叉树。根节点为 ,每个非基准节点根据其定义拆分为两个子节点。观察这棵树可以发现,相同的子问题(如 , )会在不同的分支中被多次计算,这直观地解释了为什么朴素递归效率低下。
递归算法包含两个阶段:“递”是自上而下将大问题分解为小问题(如 拆分为 和 );“归”是自下而上将小问题的解汇总成大问题的解(如已知 和 的值,相加得到 的值,最终求得 )。递归树完整地展现了这两个过程。
这是一种直观评估递归算法性能的方法。其核心思想是将递归树中的每个节点等同于一次基本的函数调用(单位计算)。因此,算法的总时间复杂度正比于递归树中节点的总数。通过分析每一层节点数量的规律(如第一层为 ),可以求和得到总节点数,进而推导出复杂度的阶(通常为指数级)。
视频分析的对象是递归函数 ,并明确给出递归基 。后续所有关于调用次数和复杂度的讨论都建立在这个递归式之上。
把 展开成二叉递归树后,视频逐层计数:第一层 个节点,第二层 个,第三层 个,第四层 个,因此各层节点数写成 。这说明每往下一层,节点数乘以 。
讲解者把“递归算法有多慢”转化为“递归树一共有多少个节点”。因为每个节点对应一次递归调用,所以总调用次数可由各层节点数相加得到。
视频用具体例子说明层节点数相加的结果:。这个例子用来支持“总规模由最高次幂主导”的直观判断。
基于递归树节点总数的指数增长,视频把该递归算法的时间复杂度写成 。这是本段的核心结论。
讲解者把 这一类随 呈 2 的幂增长的复杂度称为“指数级的复杂度”,并说明这就是用树分析递归时间复杂度的方法。
按知识点查看条件、步骤和证据。补充解释与视频直接内容分别标明。
白板上预先写有数列 1, 1, 2, 3, 5, 8 ...
1, 1, 2, 3, 5, 8 ...
斐波那契数列的前几项
正整数序列
白板上预先写有
斐波那契数列的第 n 项
n 为正整数
白板上预先写有
斐波那契数列的初始条件(基准情况)
n 等于 1 或 2
讲师在白板上写下 作为计算目标
讲师说“假设我要计算的是 ”
需要计算的具体斐波那契数项
n 等于 7
白板左侧写有
递归函数的第 n 项,视频中用于表示斐波那契型递归调用
n 为正整数
白板左侧写有
,
递归基,视频明确给出二者都等于 1
固定初值
右侧画出以 为根的二叉递归树,节点标注 、、、、、
递归树中某一层的具体调用节点
k 为从 7 向下递减的整数
树的右侧逐层写出 、、、,后续又补出
讲解者说第二层有两个节点,第三层有四个节点,第四层有八个节点
, , , ,
对应递归树各层的节点数量,视频按“层”计数
非负整数指数
白板左下写出
讲解者说复杂度可以写成 2 的 n 次方
该递归算法的时间复杂度上界记号
n 为输入规模
讲解者举例说把 2 的 0 次方加到 2 的 6 次方,等于 2 的 7 次方减 1
该求和式未完整写在白板上,只在口头举例中出现
示例中整棵理论二叉树各层节点数的总和
有限几何级数
白板上预先写有 和
视频通过白板上的公式给出了斐波那契数列的递归定义。对于 ,第 n 项等于前两项之和;对于 和 ,其值均为 1。这是后续构建递归树和分析时间复杂度的基础。
n 为正整数
当 时使用递推公式
当 或 时使用基准情况
讲师以 为根节点,向下画出分支 和 ,并继续将 拆分为 和 ,以此类推,形成一棵倒置的二叉树。
讲师解释“为了计算 呢,我们要知道这两项,也就是 和 ... 为了计算 呢,我们首先要知道 和 ...”
视频展示了如何通过递归展开来构建递归树。以目标计算 为根节点,根据其递归定义 ,将其拆分为两个子节点 和 。对每个非基准情况的子节点重复此过程,直到所有叶子节点都达到基准情况(如 或 )。
适用于具有多项递归调用的递归算法
树的深度取决于递归的终止条件
讲师明确指出:“在这棵树里面,每个节点我们可以把它看作是一个单位的计算。”
在递归树中,每一个节点代表一次函数调用,即一个单位的计算操作。通过分析树中节点的总数,可以直观地评估递归算法的执行次数,进而推导其时间复杂度。
假设每次函数调用(除递归调用外)的开销为常数级别
讲师总结:“为了分析咱们递归函数的时间复杂度,我们只需要去看一下在这棵树里面出现了多少个节点... 所以我们只需要去数一下就可以了。”
讲师开始按层分析节点数量,第一层有 1 个节点,表示为 。
该视频片段提出了一种分析递归时间复杂度的直观方法:将递归过程转化为递归树,然后统计树中所有节点(包括内部节点和叶子节点)的总数。节点总数即代表了算法执行的总计算次数。视频中讲师开始尝试按层寻找节点数量的规律(如第一层为 )。
适用于可以用递归树清晰表示的递归算法
等于 f(n 减 1) 加上 f(n 减 2)
和 都等于 1
讲解者围绕这一递归式展开复杂度分析
视频以 且 作为讨论对象,用它构造一棵二叉递归树,再分析递归调用次数。
n 为整数
递归基为
右侧递归树旁逐层标注 、、、
讲解者依次说第二层两个节点、第三层四个节点、第四层八个节点
视频把一次递归调用展开成树形结构,并观察每一层节点数:第一层 1 个,第二层 2 个,第三层 4 个,第四层 8 个,因此第 k 层对应 个节点。
按完全二叉树方式计数
视频中的“层”从 1 开始编号
讲解者说要数整棵树有多少节点,相当于把这些值相加在一起
白板写出
举例
视频没有写出一般形式的求和公式,只给出具体例子和最终大 O 结论
视频将递归算法的时间复杂度转化为递归树节点总数问题,再把各层节点数相加,得到指数级增长,并写成 。
以递归调用次数衡量时间开销
采用完全二叉树式上界估计
讲解者说这种复杂度叫做指数级的复杂度
视频把 这类随输入规模 n 呈 2 的幂增长的复杂度称为“指数级的复杂度”。
复杂度形式为 或同类指数增长
讲解者说:把 2 的 0 次方加上 2 的 1 次方一直加到 2 的 6 次方,其实它是等于 2 的 7 次方减 1 的
这是口头举例,白板上没有完整写出该等式
2 的 0 次方加 2 的 1 次方加 2 的 2 次方加 2 的 3 次方加 2 的 4 次方加 2 的 5 次方加 2 的 6 次方等于 2 的 7 次方减 1
求和从 开始
公比为 2
末项为
对这一组有限项成立
白板写出
讲解者说复杂度很明显就是 O(2 的 n 次方)
视频未严格证明上界,只是通过递归树节点计数给出直观推导
针对视频中的递归问题,其时间复杂度可写成
以递归调用次数作为主要代价
按完全二叉树式节点数进行上界估计
对输入规模 n 的渐近估计
讲师在白板上逐步画出从 开始的递归拆分过程,直到 和 。
讲师同步口述每一步的拆分逻辑:“为了计算 ... 要知道 和 ... 为了计算 ... 要知道 和 ...”
设定计算目标为 。
视频初始设定的例子。
根据递归定义,将 拆分为 和 两个子问题。
应用公式 。
继续对新生成的非基准节点 和 进行拆分。
再次应用递归定义。
讲师持续向下展开树的分支,展示了大量重复的子问题(如多个 , , )。
递归定义的直接推演。
通过不断应用递归公式, 被展开成一棵包含大量重复子问题的二叉树,直观展示了朴素递归算法的计算冗余。
讲师解释:“假设我要计算 ,然后我已经知道了 和 ,那我只需要把这两个数相加之后... 我就可以得到 了。然后我得到这两个数之后,我把它俩做一个相加,我就可以得到 。”
讲师用笔在树上从下往上指代节点,模拟求和过程。
当底层子问题的值求出后,可以通过相加得到上一层节点的值。
递归定义的逆过程(归)。
同理,利用刚求出的 和已有的 相加,最终得到根节点 的值。
递归定义的逆过程(归)。
递归算法不仅包含自上而下的“递”(拆分问题),还包含自下而上的“归”(汇总结果)。树的每个节点都参与了最终的加法运算。
先画出 的二叉递归树,再在右侧标注 、、、
讲解者逐层数节点,并说整棵树相当于把这些值相加
最后写出
从具体例子 推广到一般 n 的过程是直观说明,不是形式化证明
先给出被分析的递归函数及其递归基。
白板左侧直接写出。
把一次调用展开成二叉递归树,每个节点继续分裂成两个子调用。
右侧树状图直接展示了展开过程。
逐层统计节点数:第一层 1 个,第二层 2 个,第三层 4 个,第四层 8 个。
讲解者口头逐层说明,并在树旁写出这些幂次。
要估计整棵树的规模,就把各层节点数相加。
讲解者说“相当于把这些值把它相加在一起”。
用具体例子说明几何级数求和结果是下一幂减一。
讲解者口头举例给出。
由于总节点数随深度呈 2 的幂增长,视频把时间复杂度写成 。
白板左下写出 ,讲解者同步说明。
视频通过递归树逐层计数,得出该递归算法的时间复杂度为 ,并称其为指数级复杂度。
讲解者说由于有基本条件是 和 分别等于 1,所以没必要把这个树完全画出来
图中只画出部分层级,底部用省略号表示未继续展开
视频没有给出截断后的精确节点数,只强调理论上需要这么多节点
递归基给出后,某些分支会在底层停止继续分裂。
白板左侧直接写出递归基。
讲解者仍先按完全二叉树方式估计规模,再说明实际画图时无需全部展开。
口头说明“从理论的角度来讲的话,其实我们需要这么多的节点”。
视频区分了“实际不必全画”和“理论上按完全树估计规模”这两个层面。
整个视频片段都在白板上绘制和分析以 为根的递归树。
讲师全程围绕 的计算过程进行讲解。
假设要计算斐波那契数列的第 7 项 ,请分析其递归计算过程并探讨如何评估时间复杂度。
f 在 n 处的值等于 f 在 n 减 1 处的值加上 f 在 n 减 2 处的值
f 在 1 处的值和 f 在 2 处的值都等于 1
目标计算
构建 的递归树,并说明如何通过该树分析递归算法的时间复杂度。
以目标计算 作为递归树的起点。
递归调用的入口。
根据递推公式,将每个大于 2 的节点拆分为两个子节点,直到出现 或 。
应用斐波那契数列的递归定义。
发现树中存在大量重复计算的节点(如多个 , , )。
视觉观察递归树的形态。
将树中的每一个节点视为一次单位的函数调用计算。
讲师在视频中的明确设定。
指出分析时间复杂度等价于统计这棵递归树中所有节点的总数。
总计算次数决定了算法的运行时间。
讲师开始分析第一层有 1 个节点(记为 ),准备寻找各层节点数的规律。
为了计算总节点数,先寻找局部规律。
通过构建 的递归树,可以直观看到朴素递归产生了大量重复子问题。分析其时间复杂度的方法是统计递归树中的节点总数,视频中讲师正准备通过按层寻找规律(如第一层 个节点)来计算总节点数。
视频片段在讲师刚开始分析第二层节点时结束,未给出最终的复杂度结论(如 ),但方法论和初始步骤已完整展示。
以 为根画出递归树,并逐层标注节点数
讲解者围绕 的展开过程逐层计数并求总复杂度
视频没有计算 的函数值本身,重点在调用次数与复杂度
对 ,,分析 展开成递归树后的节点规模与时间复杂度。
等于 f(n 减 1) 加上 f(n 减 2)
和 都等于 1
以 为根展开递归树
数出各层节点数,并据此给出时间复杂度。
根节点对应一次 调用。
图中最上方节点为 。
第二层有两个节点。
讲解者说第二层总共有两个节点,旁边写 。
第三层有四个节点。
讲解者说第三层总共有四个节点,旁边写 。
第四层有八个节点。
讲解者说第四层总共有八个,旁边写 ;图中底层可见多个 f 项继续展开。
把各层节点数相加,视频用这个例子说明总和是下一幂减一。
讲解者口头举例说明。
由总节点数的指数增长得到时间复杂度。
白板写出 ,讲解者同步总结。
该递归算法的时间复杂度为 ,视频称之为指数级复杂度。
视频通过逐层计数与几何级数例子验证总节点数呈 2 的幂增长。
讲师的手持笔在白板上从上到下、从左到右逐步绘制出 的递归展开树。
根节点
分支节点 , , , ,
连接线(箭头)
节点数量随时间不断增加
树的深度逐渐加深
分支向两侧延展
每个非叶子节点都有两个子节点
子节点的参数总是比父节点小 1 或小 2
动态展示了递归算法“递”的过程,即问题如何被一步步分解为更小的子问题,直观暴露了重复计算的现象。
讲师用笔尖在已画好的树上,从下方的节点指向上方的节点。
配合口述“把这两个数相加之后... 就可以得到 了”。
已绘制的递归树
讲师的笔尖
笔尖的焦点从树的底层逐渐移动到顶层
树的结构保持不变
形象地演示了递归算法“归”的过程,即子问题的解如何逐层返回并组合成原问题的解。
讲师在树的右侧写下虚线和 ,并用笔圈出第一层的 。
讲师说“首先我们来看一下第一层... 一个节点我们可以通过 2 的 0 次方可以把它表示起来”。
讲师刚提到“然后呢第二个”,视频即结束,第二层的具体分析未在画面中完整呈现。
递归树的第一层
手写公式
虚线
引入了按层计数的新视角
在树旁添加了数学表达式
递归树本身的结构未变
标志着从定性观察转向定量分析,试图通过寻找每一层节点数量的数学规律(等比数列)来求解总节点数。
右侧递归树旁依次写出 、、、
手和笔逐层指向 、、更下层节点
根节点
、 等子节点
右侧幂次标注 、、、
讲解者从上到下逐层指示节点
每讲完一层就在右侧补写对应的 2 的幂
树的结构保持不变
每层节点数按 2 的幂增加
画面把抽象的递归调用次数转化为可视化的二叉树层计数。
镜头回到白板左下,讲解者写下
出现在左下区域
记号
左侧递归公式
右侧递归树
新增左下复杂度结论
讲解者用笔指向该记号
前面的递归树和公式仍作为依据保留在画面中
视觉上将“树节点总数”收束为一个渐近复杂度结论。
白板画面切到深蓝背景,出现搜索框、网址 www.greedyai.com、Search 按钮和 AI 标志动画
搜索框
www.greedyai.com
Search 按钮
AI 标志
教学白板消失
出现品牌搜索与标志动画
无新的数学内容
这一段是片尾包装,不再承载数学推导。
递归树中出现了大量相同的节点(如多个 , )。
讲师通过不断重复“为了计算它,我们要知道...”强调了这种层层嵌套和重复。
初学者可能认为递归只是简单地调用自身,没有意识到像斐波那契数列这样的双分支递归会产生指数级的重复子问题。
通过绘制递归树可以清晰地看到,同一个子问题(如 )会被不同的父节点多次触发计算。这正是朴素递归时间复杂度高的根本原因,也是引入记忆化搜索或动态规划的动机。(注:此为基于视频画面的合理推导,视频本身未直接点明“记忆化”等后续概念)
讲解者说由于有基本条件 和 分别等于 1,所以没必要把这个树完全画出来,但从理论角度需要这么多节点
看到图中没有把整棵树全部画完,就以为递归调用的理论规模也随之减少。
视频明确区分:画图时可以省略,但做复杂度分析时仍按理论上的节点规模来估计。
讲师先给出 公式,随后立即开始画树:“为了计算 呢,我们要知道这两项...”
递归树的构建方法直接应用于斐波那契数列的递归定义,将抽象的递推公式转化为直观的图形结构。
讲师先定义“每个节点... 是一个单位的计算”,接着说“为了分析... 时间复杂度,我们只需要去看一下... 出现了多少个节点”。
理解“节点代表单位计算”是采用“数节点法”分析时间复杂度的先决条件和理论基础。
左侧给出
右侧立即画出对应的二叉递归树
视频先用递归定义建立问题,再用递归树把每次调用展开成可视化结构。
讲解者先逐层数节点,再说要数整棵树有多少节点,相当于把这些值相加
随后写出
总节点数的估计依赖前面得到的每层 2 的幂规律。
讲解者在得出 后说这种复杂度叫做指数级的复杂度
“指数级复杂度”是对 这一结果的命名和归类。
完整的 递归树绘制过程。
树上密集的重复节点。
讲师关于数节点分析复杂度的讲解。
讲师写下 并开始分层计数。
视频在此处截断,未展示完整的求和过程。
等于 f(n 减 1) 加上 f(n 减 2),且 和 都等于 1
递归树
逐层说明第二层 2 个、第三层 4 个、第四层 8 个
右侧标注 、、、
把各层节点数相加
时间复杂度为 2 的 n 次方阶
2 的 0 次方加 2 的 1 次方一直加到 2 的 6 次方等于 2 的 7 次方减 1
这种复杂度叫做指数级的复杂度
因为有 和 等于 1,所以没必要把树完全画出来
图中底部用省略号表示未继续展开
已覆盖 · 展示斐波那契数列的已知公式和初始条件,并提出计算 的目标。
已覆盖 · 讲师逐步绘制 的递归树,展示问题的分解过程和重复子现象。
已覆盖 · 讲师解释递归树自底向上汇总结果的“归”的过程。
已覆盖 · 定义节点为单位计算,提出通过统计节点总数来分析时间复杂度的方法。
已覆盖 · 开始按层分析节点数量,写出第一层节点数为 ,准备寻找规律。
已覆盖 · 讲解者逐层数 递归树的节点,并在右侧写出 、、、。
已覆盖 · 讲解者总结每层按同样方式增加,并提出整棵树的深度和叶节点数量问题。
已覆盖 · 讲解者说明由于有递归基,实际不必把树完全画出,但理论上仍需按这么多节点估计。
已覆盖 · 讲解者把各层节点数相加,举例 +...+,并写出 。
已覆盖 · 讲解者把 称为指数级复杂度,并总结这是通过树计算递归算法时间复杂度的方法。
已覆盖 · 片尾品牌动画与网址展示,无新增数学内容。
已审核的主题路径
朴素递归效率极低,因为它生成了指数级数量的重复子问题。当可视化为递归树时,相同的节点(如 、 和 )会被不同的父节点多次触发,这意味着相同的计算在不同的分支中被冗余执行。
适用条件:算法使用没有记忆化的朴素递归。;递推关系为 。
为了分析时间复杂度,视频将递归树中的每个节点视为一个计算单元(一次函数调用)。然后通过计算树中节点的总数(包括内部节点和叶子节点)来评估算法的总执行成本。
适用条件:递归算法可以用递归树清晰地表示。;假设每次函数调用的开销(不包括递归调用)是恒定的。
基本情况 决定了递归在哪里停止,这意味着某些分支在底层停止分裂。虽然这使得讲师在实践中可以省略绘制整棵树,但理论复杂度分析仍然基于满二叉树的节点数来估算规模。
适用条件:递推关系为 。;基本情况为 和 。;复杂度分析使用满二叉树进行理论估算。
视频通过将目标计算 设为根节点来构建递归树。然后,它递归地应用公式 ,将每个非基本情况节点拆分为两个子节点。
适用条件:递推关系为 。;基本情况为 和 。;目标计算为 。
视频将时间复杂度 称为“指数复杂度”。这个术语用于分类那些随输入规模 呈 2 的幂增长的复杂度。
适用条件:复杂度具有 或类似的指数增长形式。;背景是对推导出的时间复杂度进行命名和分类。
通过对所有层级的节点数求和,可以估算树的总规模。视频使用有限几何级数示例 来表明总和由最高阶项主导。
适用条件:时间成本通过递归调用的次数来衡量。;采用使用完美二叉树的上界估计。;求和从 开始,公比为 2。
每层的节点数呈 2 的幂增长,因为每次递归调用正好分裂成两个子调用。从根节点(第 1 层,)的 1 个节点开始,第 2 层有 2 个节点(),第 3 层有 4 个节点(),第 4 层有 8 个节点()。
适用条件:递推关系为 ,生成一棵二叉树。;层级从 1 开始编号。;为了理论估算,将树视为满二叉树进行计数。
视频提到这个特定的有限几何级数求和,是为了提供一个具体的例子,说明对递归树所有层级的节点数求和的增长趋势。它表明总和由最高次幂主导,从而支持了 时间复杂度的直观推导。
适用条件:求和从 开始。;公比为 2。;最后一项是 。