1.쉬움
트리의 레벨 순서 순회(level-order)에 사용하는 자료 구조는 무엇입니까?
- A큐
- B해시 테이블
- C우선순위 큐
- D스택
2.쉬움
스택의 맨 위에 원소를 추가하는 연산의 이름은 무엇입니까?
- APeek
- BEnqueue
- CPush
- DPop
3.쉬움
덱(deque, double-ended queue)이란 무엇입니까?
- A양쪽 끝에서 삽입과 제거를 할 수 있는 구조
- B하나의 배열을 공유하는 별개의 큐 두 개
- C뒤쪽에서만 제거할 수 있는 큐
- D우선순위로 정렬된 큐
4.보통
이진 탐색 트리의 한 노드에 오른쪽 서브트리가 있습니다. 그 노드의 중위 후속자(in-order successor)는 어디에 있습니까?
- A항상 부모
- B오른쪽 서브트리의 가장 왼쪽 노드
- C왼쪽 서브트리의 가장 오른쪽 노드
- D항상 오른쪽 자식
5.보통
트라이(접두사 트리)는 특히 어떤 작업에 효율적입니까?
- A자동 완성과 같은 접두사 검색
- B숫자 정렬
- C최단 경로 찾기
- D행렬 저장
6.보통
정점이 V개인 그래프의 인접 행렬은 얼마만큼의 메모리를 사용합니까?
- AO(V²)
- BO(V + E)
- CO(log V)
- DO(E)
7.어려움
힙 정렬에 대한 진술 중 옳은 것은 무엇입니까?
- A추가 저장소로 이진 탐색 트리가 필요하므로 O(n)의 추가 메모리를 쓴다
- B최악의 경우 O(n log n) 시간에 제자리 정렬하지만 안정적이지 않다
- C안정적이며 O(n)의 추가 메모리가 필요하다
- D어떤 입력에서든 O(n) 시간에 실행된다
8.어려움
세그먼트 트리는 일반적으로 무엇에 사용됩니까?
- A구간 질의(구간 합 등)와 갱신을 O(log n)에 처리하는 데
- B스택을 구현하는 데
- C그래프의 간선을 저장하는 데
- D각 접두사를 별도의 트리 노드에 저장하여 문자열을 알파벳순으로 정렬하는 데
정답표
- 1. A · 큐
- 2. C · Push
- 3. A · 양쪽 끝에서 삽입과 제거를 할 수 있는 구조
- 4. B · 오른쪽 서브트리의 가장 왼쪽 노드
- 5. A · 자동 완성과 같은 접두사 검색
- 6. A · O(V²)
- 7. B · 최악의 경우 O(n log n) 시간에 제자리 정렬하지만 안정적이지 않다
- 8. A · 구간 질의(구간 합 등)와 갱신을 O(log n)에 처리하는 데
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.