python二叉树层次遍历
时间: 2024-05-31 17:06:12 浏览: 90
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
5星 · 资源好评率100%
二叉树层次遍历是一种广度优先遍历算法,也被称为BFS遍历。它的主要思想是按照树的层次结构,从根节点开始逐层遍历整棵树,直到所有节点都被遍历完为止。
在Python中实现二叉树的层次遍历,可以使用队列来存储每一层的节点,具体实现步骤如下:
1. 定义一个队列,并将根节点入队
2. 循环遍历队列,直到队列为空
3. 对于每个节点,将其左子节点和右子节点依次入队
4. 对于每个节点,将其值输出
以下是 Python 实现代码:
```python
class Node:
def __init__(self, val=None, left=None, right=None):
self.val = val
self.left = left
self.right = right
def level_order(root):
if not root:
return []
queue = [root]
res = []
while queue:
cur_level = []
for i in range(len(queue)):
node = queue.pop(0)
cur_level.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
res.append(cur_level)
return res
```
阅读全文