1.쉬움
맵(딕셔너리)은 무엇을 저장합니까?
- A키가 유일한 키–값 쌍
- B같은 키의 쌍
- C크기순으로 정렬된 값
- D삽입 순서대로 값만
2.쉬움
"후입선출"(LIFO) 원칙으로 동작하는 자료 구조는 무엇입니까?
- A큐(Queue)
- B해시 테이블(Hash table)
- C스택(Stack)
- D연결 리스트(Linked list)
3.쉬움
이중 연결 리스트의 각 노드에는 무엇이 들어 있습니까?
- A데이터와 다음 노드에 대한 포인터만
- B데이터와 포인터 두 개로, 하나는 다음 노드를, 다른 하나는 그 다음 다음 노드를 가리킨다
- C데이터, 다음 노드에 대한 포인터, 이전 노드에 대한 포인터
- D데이터 사본 두 개와 포인터 하나
4.보통
이진 탐색 트리의 한 노드에 오른쪽 서브트리가 있습니다. 그 노드의 중위 후속자(in-order successor)는 어디에 있습니까?
- A항상 부모
- B오른쪽 서브트리의 가장 왼쪽 노드
- C왼쪽 서브트리의 가장 오른쪽 노드
- D항상 오른쪽 자식
5.보통
깊이 우선 탐색(반복 버전)에서 사용하는 자료 구조는 무엇입니까?
- A큐
- B해시 테이블만
- C스택
- D힙
6.보통
AVL 트리와 레드-블랙 트리가 보장하는 것은 무엇입니까?
- A키가 삽입 순서대로 저장됨
- B자식이 두 개인 노드가 없음
- C모든 경우의 상수 시간 탐색
- D재균형을 통한 O(log n) 높이
7.어려움
데이터베이스가 인덱스에 일반 B-트리보다 B+ 트리를 자주 사용하는 이유는 무엇입니까?
- AB+ 트리는 데이터를 루트에만 저장하기 때문에
- B모든 레코드가 연결된 리프에 있어 범위 스캔이 효율적이기 때문에
- CB+ 트리는 이진 내부 노드를 사용하여 디스크 읽기 횟수를 줄이기 때문에
- DB+ 트리는 균형을 유지할 필요가 없기 때문에
8.어려움
서버가 해시 함수를 범용(universal) 해시 함수족에서 무작위로 고르는 이유는 무엇일 수 있습니까?
- A공격자가 모두 충돌하는 키를 많이 고를 가능성을 매우 낮추기 위해
- B테이블 크기 조정의 필요를 없애기 위해
- C해시 테이블을 정렬된 상태로 만들기 위해
- D공격자가 어떤 키를 보내더라도 어떤 두 키도 결코 충돌하지 않도록 보장하기 위해
정답표
- 1. A · 키가 유일한 키–값 쌍
- 2. C · 스택(Stack)
- 3. C · 데이터, 다음 노드에 대한 포인터, 이전 노드에 대한 포인터
- 4. B · 오른쪽 서브트리의 가장 왼쪽 노드
- 5. C · 스택
- 6. D · 재균형을 통한 O(log n) 높이
- 7. B · 모든 레코드가 연결된 리프에 있어 범위 스캔이 효율적이기 때문에
- 8. A · 공격자가 모두 충돌하는 키를 많이 고를 가능성을 매우 낮추기 위해
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.