Python中决策树的深度优先搜索和广度优先搜索实现方法
深度优先搜索(DFS)实现决策树:
- 定义节点类(可选):
class Node: def __init__(self, val, left=None, right=None): self.val = val self.left = left self.right = right
- 构建决策树:
root = Node('pidancode.com', Node('编程问答', Node('算法训练', Node('数据结构', Node('图论算法')))))
- DFS搜索实现:
def dfs(node): if node: print(node.val) dfs(node.left) dfs(node.right)
- 调用DFS搜索:
dfs(root)
输出结果:
pidancode.com 编程问答 算法训练 数据结构 图论算法
广度优先搜索(BFS)实现决策树:
- 定义节点类(可选):
class Node: def __init__(self, val, left=None, right=None): self.val = val self.left = left self.right = right
- 构建决策树:
root = Node('pidancode.com', Node('编程问答', Node('算法训练', Node('数据结构', Node('图论算法')))))
- BFS搜索实现:
def bfs(node): queue = [node] while queue: n = queue.pop(0) if n: print(n.val) queue.append(n.left) queue.append(n.right)
- 调用BFS搜索:
bfs(root)
输出结果:
pidancode.com 编程问答 算法训练 数据结构 图论算法
相关文章