前中后序的遍历
文章平均质量分 70
empty__barrel
这个作者很懒,什么都没留下…
展开
-
将前中后序迭代法遍历整合成一种类似的代码
无法同时解决访问节点(遍历节点)和处理节点(将元素放进结果集)不一致的情况。分为两部分:存储元素:右中左,出栈然后右中左然后一直这样,此时就是把左边的全部处理完(即先处理左树)。回收元素:左边到顶了下一个为null了就回收元素,然后节点到中节点,此时也不进行右中左,节点到右节点时,此时继续进行右中左,右中左。(即将右节点当做根节点处理右树)。解决访问节点(遍历节点)和处理节点(将元素放进结果集)不一致的情况:从栈中取元素作为根节点,然后根据不同类型的跟节点进行不同的操作。对左节点的操作以及对右节原创 2022-02-23 21:17:42 · 141 阅读 · 0 评论 -
前中后序遍历(递归法和迭代法)
1:确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。2:确定终止条件: 写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。3:确定单层递归的逻辑: 确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现递归的过程。...原创 2022-02-23 20:37:23 · 1263 阅读 · 0 评论