1.쉬움
이진 최소 힙에서 가장 작은 원소는 어디에 있습니까?
- A루트
- B배열의 마지막 위치
- C가장 왼쪽 리프
- D찾아봐야 하는 어떤 리프
2.쉬움
해시 테이블에서 충돌(collision)이란 무엇입니까?
- A테이블의 메모리가 바닥나는 것
- B서로 다른 두 키가 같은 인덱스에 대응되는 것
- C키를 전혀 해시할 수 없는 것
- D같은 두 키가 두 번 저장되는 것
3.쉬움
우선순위 큐를 구현할 때 일반적으로 사용하는 구조는 무엇입니까?
- A힙
- B문자열
- C스택
- D정렬되지 않은 단일 연결 리스트
4.보통
충돌한 키들을 같은 버킷의 리스트에 저장하는 충돌 해결 방법은 무엇입니까?
- A선형 탐사(Linear probing)
- B분리 체이닝(Separate chaining)
- C이중 해싱(Double hashing)
- D이차 탐사(Quadratic probing)
5.보통
AVL 트리는 모든 노드에서 어떤 균형 조건을 유지합니까?
- A모든 노드의 두 서브트리가 정확히 같은 수의 노드를 포함한다
- B모든 노드가 빨간색 또는 검은색으로 칠해져 있다
- C모든 리프가 정확히 같은 깊이에 있다
- D왼쪽과 오른쪽 서브트리의 높이 차이가 최대 1이다
6.보통
이진 힙에 새 원소는 어떻게 삽입됩니까?
- A루트에 놓고 아래로 내린다(sift down)
- B배열의 끝에 놓고 힙 성질을 위반하는 동안 위로 올린다(sift up)
- C더 큰 원소들을 모두 오른쪽으로 한 칸씩 밀어 정렬된 위치에 삽입한다
- D힙 전체를 처음부터 다시 만든다
7.어려움
키가 서로 다를 때 유일한 이진 트리를 항상 결정하는 순회 쌍은 무엇입니까?
- A전위 순회만
- B전위 순회와 후위 순회
- C레벨 순서 순회만
- D전위 순회와 중위 순회
8.어려움
데이터베이스와 파일 시스템에서 B-트리를 사용하는 이유는 무엇입니까?
- A데이터를 정렬하지 않고 저장하기 때문이다
- B높은 분기 계수로 트리를 얕게 유지하여 느린 디스크 읽기를 줄이기 때문이다
- C재균형이 필요 없기 때문이다
- D어떤 배열보다도 메모리를 적게 써서 전체 인덱스가 항상 주기억장치에 들어가기 때문이다
정답표
- 1. A · 루트
- 2. B · 서로 다른 두 키가 같은 인덱스에 대응되는 것
- 3. A · 힙
- 4. B · 분리 체이닝(Separate chaining)
- 5. D · 왼쪽과 오른쪽 서브트리의 높이 차이가 최대 1이다
- 6. B · 배열의 끝에 놓고 힙 성질을 위반하는 동안 위로 올린다(sift up)
- 7. D · 전위 순회와 중위 순회
- 8. B · 높은 분기 계수로 트리를 얕게 유지하여 느린 디스크 읽기를 줄이기 때문이다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.