def bfs(graph, start):
visited = set() # 记录已黑入的节点
queue = [start] # 待渗透的任务队列
visited.add(start)
while queue:
node = queue.pop(0) # 取出队首 (先进先出)
process(node) # 执行当前节点逻辑
for neighbor in graph[node]:
if neighbor not in visited:
visited.add(neighbor)
queue.append(neighbor) # 标记新目标并入队