广度优先遍历,深度优先遍历:
DFS:
def dfs(tree_node):
if tree_node is not None:
print(tree_node.value)
if tree_node.left is not None:
dfs(tree_node.left)
if tree_node.right is not None:
dfs(tree_node.right)
BFS:
def bfs(tree_node):
if tree_node is None:
return
# 创建一个队列
queue = []
node = tree_node
queue.append(node) #从底部入队列
while queue: #判断队列是否为空
node = queue.pop(0)
print(node.value)
if node.left is not None:
queue.append(node.left)
if node.right is not None:
queue.append(node.right)
广度优先遍历 和深度优先遍历
最新推荐文章于 2023-07-30 11:46:34 发布