🌐为大家推荐一款刷题网站呀👉点击跳转
以下题目&算法思想,都可以从此网站中找到并参考学习哟~
📌导航小助手📌
💡本章重点
- 二叉树的层序遍历
- 二叉树重要面试OJ题
- 🔥算法思想
**🍞一.**广度优先遍历
**🥐Ⅰ.**层序遍历
💡广度优先遍历: 对于二叉树来说又称为层序遍历
- 即访问顺序不同与
先序
、中序
、后序
遍历【这三种遍历统称为:深度优先遍历
】要递归访问完一个分支后才返回再递归访问剩下的分支 - 而
层序遍历
就是一层一层的遍历树的结点,遍历完一层后,才遍历下一层,直至遍历完整棵树
❗特别注意:
- 对于
广度优先遍历
,我们一般借助队列
的数据结构去实现
【对于>队列<的知识有遗忘的,可以点击跳转食用哟~】 - 在遍历完后,切记对
队列
所申请的空间进行释放,以防止内存泄露
的情况
➡️实现方式:
- 1️⃣先将第一层的树的结点入队列
- 2️⃣当队列不为
NULL
时,可以借助队列FIFO
(先进先出)原则,进行对已经入队列的树的结点依次读取(达到访问结点
的效果)并删除在队列中已经访问过的结点 - 3️⃣在上述删除某个结点的同时,将此结点的孩子结点插入队列中(即相当于同时对下一层进行处理,以达到访问完这一层后,可以继续访问孩子节点所在的层)
- 4️⃣重复上述步骤,直至
队列
为NULL
,代表整棵树已完全遍历
✊动图示例: