그림과 같은 그래프를 대상으로 다음 알고리즘을 적용하였을 때, 결과에 대한 설명으로 옳지 않은 것은? (단, 탐색의 시작 정점은 1이고, Q는 큐 객체이며, Q.enqueue()와 Q.dequeue()는 큐 Q에 대한 삽입과 삭제 연산이고, 각 정점의 방문을 표시하는 것은 visited[] 배열을 이용한다)

_FS(v) {
visited[v] <- YES; // 정점 v에 대한 방문 표시
Q.enqueue(v)
while(!Q.empty()) { // Q가 비어있지 않은 동안
w <- Q.dequeue();
for all u ∈ (w에 인접한 정점) {
if(visited[u] != YES) {
visited[u] <- YES;
Q.enqueue(u);
}
}
}
}- ①알고리즘의 수행에 따른 노드의 방문 순서는 1 → 2 → 5 → 9 → 8 → 4 → 7 → 6 → 3이다.
- ②너비 우선 탐색(BFS, Breadth First Search) 알고리즘이다.
- ③시작 정점으로부터 가까운 정점들을 먼저 방문하고 멀리 떨어져 있는 정점들을 나중에 방문하는 탐색방법이다.
- ④알고리즘은 그래프의 모든 정점을 방문한다.
선지를 골라 바로 채점해 보세요.
정답 ①
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)