1.쉬움
"후입선출"(LIFO) 원칙으로 동작하는 자료 구조는 무엇입니까?
- A큐(Queue)
- B해시 테이블(Hash table)
- C연결 리스트(Linked list)
- D스택(Stack)
2.쉬움
트리의 루트는 무엇입니까?
- A가장 큰 값을 가진 노드
- B자식이 없는 노드
- C부모가 없는 최상위 노드
- D중간에 있는 아무 노드
3.쉬움
큐의 맨 앞 원소를 제거하는 연산의 이름은 무엇입니까?
- ADequeue
- BEnqueue
- CPush
- DInsert
4.보통
이진 탐색 트리를 중위 순회(in-order)하면 키를 어떤 순서로 방문합니까?
- A오름차순 정렬 순서
- B항상 내림차순
- C삽입 순서
- D레벨 순서
5.보통
실제로 배열 순회가 같은 길이의 연결 리스트 순회보다 훨씬 빠른 경우가 많은 이유는 무엇입니까?
- A연결 리스트는 항상 원소를 디스크에 저장하기 때문에
- B배열 원소는 연속되어 있어 CPU 캐시를 잘 활용하기 때문에
- C배열은 값 비교에 더 적은 명령어를 쓰기 때문에
- D배열 순회는 전체가 O(1)이고 연결 리스트 순회는 O(n)이기 때문에
6.보통
다익스트라 알고리즘은 다음에 처리할 정점을 고르는 데 어떤 추상 자료형을 사용합니까?
- A최소 우선순위 큐
- B스택
- C순서가 없는 집합
- DFIFO 큐
7.어려움
원소가 n개인 이진 최소 힙에서 임의의 키를 탐색하는 데 얼마나 걸립니까?
- AO(log n)
- BO(log log n)
- CO(n)
- DO(1)
8.어려움
AVL 트리에 키를 삽입했더니 어떤 노드의 왼쪽 서브트리가 너무 높아졌고, 새 키는 그 왼쪽 자식의 왼쪽 서브트리에 들어갔습니다(left-left 경우). 어떤 수정이 적용됩니까?
- A불균형 노드에서 단일 오른쪽 회전
- B노드와 그 자식의 색 바꾸기
- C자식에서 왼쪽 회전 후 노드에서 오른쪽 회전
- D불균형 노드에서 단일 왼쪽 회전
정답표
- 1. D · 스택(Stack)
- 2. C · 부모가 없는 최상위 노드
- 3. A · Dequeue
- 4. A · 오름차순 정렬 순서
- 5. B · 배열 원소는 연속되어 있어 CPU 캐시를 잘 활용하기 때문에
- 6. A · 최소 우선순위 큐
- 7. C · O(n)
- 8. A · 불균형 노드에서 단일 오른쪽 회전
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.