数据结构:3.3.3层序遍历

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

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

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

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

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

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

算法实现:

相关推荐
StarPrayers.几秒前
自蒸馏学习方法
人工智能·算法·学习方法
大锦终1 分钟前
【动规】背包问题
c++·算法·动态规划
智者知已应修善业1 小时前
【c语言蓝桥杯计算卡片题】2023-2-12
c语言·c++·经验分享·笔记·算法·蓝桥杯
hansang_IR1 小时前
【题解】洛谷 P2330 [SCOI2005] 繁忙的都市 [生成树]
c++·算法·最小生成树
-指短琴长-1 小时前
数据结构进阶——红黑树
数据结构
Croa-vo1 小时前
PayPal OA 全流程复盘|题型体验 + 成绩反馈 + 通关经验
数据结构·经验分享·算法·面试·职场和发展
是苏浙2 小时前
零基础入门C语言之贪吃蛇的实现
c语言·开发语言·数据结构
AndrewHZ2 小时前
【图像处理基石】 怎么让图片变成波普风?
图像处理·算法·计算机视觉·风格迁移·cv
无极小卒2 小时前
如何在三维空间中生成任意方向的矩形内部点位坐标
开发语言·算法·c#
FMRbpm2 小时前
链表中出现的问题
数据结构·c++·算法·链表·新手入门