DFS와 BFS
면접 대비시간 제한2초메모리 제한128 MB
주어진 무방향 그래프에서 시작 정점부터 DFS와 BFS로 방문하는 순서를 번호가 작은 정점을 우선하여 각각 출력합니다.
문제
주어진 그래프를 깊이 우선 탐색(DFS)으로 방문한 순서와 너비 우선 탐색(BFS)으로 방문한 순서를 출력하는 프로그램을 작성하시오. 다음에 방문할 수 있는 정점이 여러 개라면 번호가 가장 작은 정점을 먼저 방문한다. 더 이상 방문할 수 있는 정점이 없으면 탐색을 종료한다. 정점 번호는 1번부터 N번까지이다.
입력
첫째 줄에 정점의 개수 N, 간선의 개수 M, 탐색을 시작할 정점 번호 V가 주어진다.
- 1 <= N <= 1,000
- 1 <= M <= 10,000
다음 M개의 줄에는 간선으로 연결된 두 정점의 번호가 주어진다. 같은 두 정점 사이에 여러 개의 간선이 있을 수 있다. 모든 간선은 양방향이다.
출력
첫째 줄에는 DFS로 방문한 순서를 출력하고, 둘째 줄에는 BFS로 방문한 순서를 출력한다. 각 줄에는 V에서 시작해 방문한 정점을 방문 순서대로 출력한다.