数据结构:3.3.3层序遍历

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

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

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

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

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

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

算法实现:

相关推荐
mit6.824几秒前
437贪心
算法
hetao1733837几秒前
2026-01-19~20 hetao1733837 的刷题笔记
c++·笔记·算法
秋刀鱼程序编程21 分钟前
Java编程基础入门(四)---选择循环语句
java·开发语言·算法
wen__xvn24 分钟前
基础算法集训第04天:选择排序和冒泡排序
数据结构·算法·leetcode
充值修改昵称31 分钟前
数据结构基础:二叉树高效数据结构的奥秘
数据结构·python·算法
啊阿狸不会拉杆1 小时前
《机器学习》第四章-无监督学习
人工智能·学习·算法·机器学习·计算机视觉
Java程序员威哥1 小时前
用Java玩转机器学习:协同过滤算法实战(比Python快3倍的工程实现)
java·开发语言·后端·python·算法·spring·机器学习
Lips6111 小时前
第六章 支持向量机
算法·机器学习·支持向量机
Howrun7771 小时前
信号量(Semaphore)
开发语言·c++·算法
cheems95272 小时前
[Java EE]多线程模式下容器的选择
算法·哈希算法