gpt4 book ai didi

python - 树的广度优先遍历,Python

转载 作者:太空狗 更新时间:2023-10-30 01:59:55 27 4
gpt4 key购买 nike

我想出了树的深度优先遍历。

def _dfs(tree, res):
if tree:
res += [tree.key]
_dfs(tree.left, res)
_dfs(tree.right, res)
return res

我似乎找不到广度优先搜索的解决方案。是否必须使用队列或堆栈?

谢谢!!

最佳答案

你可以使用双端队列。这是 Magnus Lie Hetland 的 bfs 的经典实现(使用 FIFO 队列)。

from collections import deque

def bfs(G, s):
P, Q = {s: None}, deque([s])
while Q:
u = Q.popleft()
for v in G[u]:
if v in P: continue
P[v] = u
Q.append(v)
return P

关于python - 树的广度优先遍历,Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10171844/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com