前言
上篇讲的是二叉树的三种遍历方式,前中后序遍历方式,它们都属于深度优先遍历,所谓深度优先就是沿着树的深度遍历树的节点。而广度优先遍历则是从root开始,从左到右从上到下水平遍历树的节点,所以又称为层次遍历。
深度优先借助的数据结构为栈,而广度优先借助的则是队列。
正文
广度优先遍历
由于在LeetCode中并没有找到相应的题目,所以我直接给出代码。
python代码如下
1 | def breadthTraversal(self,root): |
总结
二叉树的广度优先遍历较为简单,只要借助队列,让节点先进先出,便可得到层次遍历的结果。