数据结构:3.3.3层序遍历

二叉树的核心问题:把二维的结构变为一维的线性序列

采用不同的方法就会产生不同的一维的序列

如果不访问父亲结点是访问不到左儿子和右儿子的,如果把父亲忘了左右儿子也是找不到的

二叉树转为一维序列过程中的一个问题:一个结点只关联两个结点,访问了其中的一个另一个怎么办,另一个要把它存起来

用堆栈来保存:自己或者右儿子(在堆栈里实现的是保存自己这个结点)。用堆栈保存的过程:自己访问完了访问左儿子,把自己保存起来,这样将来回来的时候可以去访问右儿子

用队列来保存:保存的是未来要访问的结点(也就是右儿子结点)。

算法实现:

相关推荐
半截詩12 分钟前
力扣Hot100-24两两交换链表中的节点(三指针)
算法
2401_8576363923 分钟前
Scala中的尾递归优化:深入探索与实践
大数据·算法·scala
点云侠36 分钟前
matlab 干涉图仿真
开发语言·人工智能·算法·计算机视觉·matlab
夏天的阳光吖1 小时前
每日一题---OJ题:分隔链表
数据结构·链表
2401_857638031 小时前
【深度解析】滑动窗口:目标检测算法的基石
人工智能·算法·目标检测
Czi橙1 小时前
玩玩快速冥(LeetCode50题与70题以及联系斐波那契)
java·算法·快速幂·斐波那契
Python大数据分析@1 小时前
用Python实现的10种聚类算法汇总
python·算法·聚类
橘子味的小橙2 小时前
leetCode-hot100-动态规划专题
java·算法·leetcode·动态规划
沿街2 小时前
【集成学习】基于python的stacking回归预测
人工智能·python·算法·机器学习·回归·集成学习
CylMK2 小时前
NOI大纲——普及组——二叉搜索树
开发语言·数据结构·c++·算法