数据结构:3.3.3层序遍历

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

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

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

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

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

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

算法实现:

相关推荐
YuforiaCode1 分钟前
LeetCode 219.存在重复元素 II
算法·leetcode·职场和发展
CodeQingqing20 分钟前
C语言练手磨时间
c语言·数据结构·算法
卡尔曼的BD SLAMer1 小时前
计算机视觉与深度学习 | Python实现EMD-SSA-VMD-LSTM时间序列预测(完整源码和数据)
python·深度学习·算法·cnn·lstm
yu_anan1111 小时前
Denoising Score Matching with Langevin Dynamics
算法·机器学习·概率论
小葡萄20252 小时前
黑马程序员C++2024新版笔记 第三章 数组
笔记·算法·c++20
勇闯逆流河9 小时前
【数据结构】堆
c语言·数据结构·算法
pystraf9 小时前
LG P9844 [ICPC 2021 Nanjing R] Paimon Segment Tree Solution
数据结构·c++·算法·线段树·洛谷
飞川撸码10 小时前
【LeetCode 热题100】739:每日温度(详细解析)(Go语言版)
算法·leetcode·golang
yuhao__z11 小时前
代码随想录算法训练营第六十六天| 图论11—卡码网97. 小明逛公园,127. 骑士的攻击
算法
Echo``11 小时前
3:OpenCV—视频播放
图像处理·人工智能·opencv·算法·机器学习·视觉检测·音视频