|
1
1
当你递归到下一个级别时,基本上需要拍下你所在位置的快照,然后去做其他事情。一旦“其他东西”完成,您将返回快照并继续。
这和打电话很相似
不
-递归函数。当函数调用
所以,当你回来的时候 向上的 一个级别(例如,处理了左侧的节点),然后将打印当前节点,然后在子树的右侧向下。 考虑示例树:
要处理此树,对于每个节点(从2开始),处理左节点,打印当前节点值,然后处理右节点。 但是,您需要理解“处理左/右节点”是在其中一个子节点上重复的整个“处理左、打印当前、处理右”步骤集。从这个意义上说 不 处理根节点和处理任何其他节点之间的差异。 “处理”是按顺序打印出给定点(包括该点)下的所有节点。如果从根节点开始,就会得到整个树,这是一个很好的效果:-) 因此,就实际发生的情况而言,它基本上遵循递归路径:
如果检查每个打印行(请参阅
|
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 9 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 9 月前 |
|
|
tTt · 使用堆栈中的值重新分配指针 10 月前 |
|
|
jnwjack · Swift:初始化不安全可变指针<CGImage?>不分配 10 月前 |
|
|
manuel · 现代C中空指针的替代方案++ 11 月前 |
|
|
cha · 为什么在C中,int变量需要“&”运算符,而数组不需要?[副本] 11 月前 |