200. 【应-47-1·简】邻接表 BFS 序列
简单
Python
📋 题目描述
给定一张无向图(N 个节点编号 1..N,M 条边)和起点 start。从 start 出发做 BFS 遍历,输出依次访问的节点序列。同一层内的邻居按编号升序访问(即把每个节点的邻居列表排序后再入队)。只输出从 start 可达的节点(包含 start 自身),用空格分隔放在一行。
📥 输入描述
第一行三个整数 N M start(1<=N<=1000, 0<=M<=N*(N-1)/2, 1<=start<=N)。
接下来 M 行,每行两个整数 u v,表示 u-v 之间有一条无向边(u!=v)。
📤 输出描述
一行:BFS 访问到的节点序列(按访问顺序,空格分隔)。
输入样例
5 4 1 1 2 1 3 2 4 3 5
输出样例
1 2 3 4 5
提示:邻接表用 defaultdict(list) 即可。
BFS:queue=deque([start]),visited[start]=True;while queue:u=queue.popleft(),记录 u;for v in sorted(adj[u]): 若未访问则入队并标记。
请登录后提交代码