그래프를 가까운 정점부터 층별로 방문하는 방식을 익히기 위한 문제입니다. 무가중치 최단 거리 문제로 넘어가기 전에 큐와 방문 처리 시점을 확실히 합니다.
정점 수 n, 무방향 간선 목록 edges, 시작 정점 start가 주어집니다. BFS 방문 순서를 반환하세요. 인접 정점은 번호가 작은 순서로 확인하며, 시작점에서 갈 수 없는 정점은 제외합니다.
bfs_order(n, edges, start)
시간 O(V+E), 공간 O(V+E)
실행하면 아래 순서대로 채점합니다. print() 출력도 이 순서대로 쌓입니다.
| # | 이름 | n | edges | start | 기대값 |
|---|---|---|---|---|---|
| 1 | 분기 그래프 | 6 | [[0, 2], [0, 1], [1, 3], [2, 4], [3, 5]] | 0 | [0, 1, 2, 3, 4, 5] |
| 2 | 사이클 | 4 | [[0, 1], [1, 2], [2, 0]] | 1 | [1, 0, 2] |
| 3 | 고립 시작점 | 3 | [[0, 1]] | 2 | [2] |
| 4 | 다른 연결 요소 | 6 | [[0, 1], [2, 4], [2, 3], [4, 5]] | 2 | [2, 3, 4, 5] |
| 5 | 너비 우선 분기 순서 | 7 | [[1, 3], [1, 2], [2, 5], [3, 4], [4, 6]] | 1 | [1, 2, 3, 5, 4, 6] |
Python 표준 라이브러리는 사용할 수 있습니다. 함수 이름과 매개변수는 제시된 형태를 유지하세요.
코드를 작성하고 실행하면 5개의 테스트가 각각 표시됩니다.