# 前序遍历 def pre_order(root): if root is None: return print(root.data) pre_order(root.left) pre_order(root.right) # 中序遍历 def in_order(root): if root is None: return in_order(root.left) print(root.data) in_order(root.right) # 后序遍历 def post_order(root): if root is None: return post_order(root.left) post_order(root.right) print(root.data)广度优先
利用队列可以实现非递归形式的广度优先遍历。
def bfs(root): queue = [] res = [] queue.append(root.data) while queue: sz = len(queue) for i in range(sz): node = queue.pop(0) res.append(node.data) if node.left: queue.append(node.left.data) if node.right: queue.append(node.right.data)



