다음과 같은 재귀적(recursive) 그래프 탐색 알고리즘을 반복적(iterative) 알고리즘으로 구현하고자 한다. 그래프가 인접리스트(adjacency list)에 저장되어 있다고 가정할 때, 구현을 위하여 필요한 자료구조와 전체 그래프를 순회(traversal)하는 알고리즘의 시간복잡도(time complexity)를 옳게 나타낸 것은? (단, 정점의 집합은 V, 간선의 집합은 E라고 가정한다)
(알고리즘)
void search( vertex v )
{
visited[v] = 1 ;
for each vertex w adjacent to v
if ( !visited[w] ) search( w ) ;
}- ①queue, O( |E| )
- ②stack, O( |V|2 )
- ③stack, O( |V| + |E| )
- ④queue, O( |V|2 )
선지를 골라 바로 채점해 보세요.
정답 ③
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)