温馨提示×

如何实现TreeNode的递归遍历

小樊
112
2024-09-03 12:03:10
栏目: 编程语言

要实现TreeNode的递归遍历,你可以使用深度优先搜索(DFS)或广度优先搜索(BFS)算法。这里我将分别介绍这两种方法的实现。

首先,我们需要定义一个TreeNode类:

class TreeNode: def __init__(self, value): self.value = value self.children = [] 
  1. 深度优先搜索(DFS)

使用递归实现深度优先搜索:

def dfs_recursive(node): if node is None: return print(node.value) # 处理当前节点 for child in node.children: dfs_recursive(child) # 递归遍历子节点 
  1. 广度优先搜索(BFS)

使用队列实现广度优先搜索:

from collections import deque def bfs(root): if root is None: return queue = deque([root]) while queue: node = queue.popleft() print(node.value) # 处理当前节点 for child in node.children: queue.append(child) # 将子节点加入队列 

以上代码展示了如何实现TreeNode的递归遍历。你可以根据需要选择使用深度优先搜索或广度优先搜索。

0