1.쉬움
해시 테이블에서 충돌(collision)이란 무엇입니까?
- A테이블의 메모리가 바닥나는 것
- B서로 다른 두 키가 같은 인덱스에 대응되는 것
- C키를 전혀 해시할 수 없는 것
- D같은 두 키가 두 번 저장되는 것
2.쉬움
배열에서는 느리지만 연결 리스트의 head에서는 빠른 연산은 무엇입니까?
- A맨 앞에 삽입하기
- B5번째 원소에 접근하기
- C인덱스로 마지막 원소 읽기
- D고정 배열의 길이 구하기
3.쉬움
노드가 n개인 트리에는 간선이 몇 개 있습니까?
- An
- Bn − 1
- C2n
- Dn + 1
4.보통
정점이 V개인 그래프의 인접 행렬은 얼마만큼의 메모리를 사용합니까?
- AO(E)
- BO(V + E)
- CO(V²)
- DO(log V)
5.보통
배열에 저장된 이진 최소 힙(인덱스는 0부터 시작)에서 인덱스 i인 노드의 자식은 어디에 있습니까?
- Ai + 1과 i + 2
- B2i와 2i + 1
- C2i + 1과 2i + 2
- Di/2와 i/2 + 1
6.보통
키 50, 30, 70, 20, 40을 이 순서로 빈 이진 탐색 트리에 삽입합니다. 30의 왼쪽 자식은 무엇입니까?
- A70
- B40
- C20
- D50
7.어려움
데이터베이스와 파일 시스템에서 B-트리를 사용하는 이유는 무엇입니까?
- A높은 분기 계수로 트리를 얕게 유지하여 느린 디스크 읽기를 줄이기 때문이다
- B데이터를 정렬하지 않고 저장하기 때문이다
- C어떤 배열보다도 메모리를 적게 써서 전체 인덱스가 항상 주기억장치에 들어가기 때문이다
- D재균형이 필요 없기 때문이다
8.어려움
이진 탐색 트리에서 자식이 두 개인 노드를 삭제할 때는 보통 어떻게 합니까?
- A루트와 맞바꾼다
- B서브트리 전체를 삭제한다
- C그 아래 서브트리를 처음부터 다시 만들어 그 안에 있던 모든 키를 다시 삽입한다
- D중위 후속자(또는 선행자)로 대체한 다음 그 노드를 삭제한다
정답표
- 1. B · 서로 다른 두 키가 같은 인덱스에 대응되는 것
- 2. A · 맨 앞에 삽입하기
- 3. B · n − 1
- 4. C · O(V²)
- 5. C · 2i + 1과 2i + 2
- 6. C · 20
- 7. A · 높은 분기 계수로 트리를 얕게 유지하여 느린 디스크 읽기를 줄이기 때문이다
- 8. D · 중위 후속자(또는 선행자)로 대체한 다음 그 노드를 삭제한다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.