【发布时间】:2018-09-26 08:30:25
【问题描述】:
我正在尝试查找根与正在遍历的节点的深度之间的距离,例如,如果我有一个表示树 { 1: [2, 3], 2: [4], 3: [5]} 的以下邻接列表,则会创建一个如下所示的关联列表[0, 1, 1, 2, 2]表示每个节点的级别。
我有以下代码,但看不到我打算在哪里添加计数功能等,理想情况下这也可以处理交叉和后边缘
def bfs(graph, root):
seen, queue = set([root]), collections.deque([root])
visit_order = []
while queue:
vertex = queue.popleft()
visit_order.append(vertex)
for node in graph[vertex]:
if node not in seen:
seen.add(node)
queue.append(node)
print(visit_order)
【问题讨论】:
标签: python tree breadth-first-search