如何实现TreeNode的递归遍历

   2024-09-30 4820
核心提示:要实现TreeNode的递归遍历,你可以使用深度优先搜索(DFS)或广度优先搜索(BFS)算法。这里我将分别介绍这两种方法的实现。首先

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

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

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

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

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

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

from collections import dequedef 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的递归遍历。你可以根据需要选择使用深度优先搜索或广度优先搜索。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号