二叉树深度优先遍历
时间: 2023-07-18 17:04:07 浏览: 83
二叉树广度和深度优先遍历
5星 · 资源好评率100%
二叉树深度优先遍历(Depth-First-Search,DFS)有三种方式:前序遍历、中序遍历和后序遍历。其中,前序遍历先遍历根节点,然后遍历左子树,最后遍历右子树;中序遍历先遍历左子树,然后遍历根节点,最后遍历右子树;后序遍历先遍历左子树,然后遍历右子树,最后遍历根节点。以下是前序遍历的实现代码:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Solution:
def dfs_preorder(self, root: TreeNode):
if not root:
return
print(root.val)
self.dfs_preorder(root.left)
self.dfs_preorder(root.right)
```
其中,`dfs_preorder`函数为前序遍历函数,使用递归实现。如果当前节点为空,则直接返回;否则,先输出当前节点的值,然后递归遍历左子树和右子树。
阅读全文