class TreeNode(object): def __init__(self, value, left_child=None, right_child=None): self.left_child = left_child self.value = value self.right_child = right_child # 从下往上, 从左往右创建 node_q = TreeNode('Q') node_k = TreeNode('K', node_q) node_g = TreeNode('G') node_b = TreeNode('B', node_g, node_k) node_f = TreeNode('F') node_a = TreeNode('A', node_b, node_f) # ******深度遍历(最重要的) def deep_search(root): print(root.value) if root.left_child: deep_search(root.left_child) if root.right_child: deep_search(root.right_child) def wide_search(root): queue = [root] while queue: node = queue.pop(0) # 根,左孩子, 右孩子(防止顺序乱) print(node.value) if node.left_child: queue.append(node.left_child) if node.right_child: queue.append(node.right_child) deep_search(node_a) print('=====') wide_search(node_a)
二叉树
最新推荐文章于 2024-07-29 08:47:18 发布