1.쉬움
해시 테이블의 적재율(load factor)이란 무엇입니까?
- A버킷 수를 저장된 키의 평균 길이로 나눈 값
- B지금까지의 충돌 횟수
- C디스크에서 테이블을 불러오는 데 걸리는 시간
- D저장된 원소 수를 버킷 수로 나눈 값
2.쉬움
"선입선출"(FIFO) 원칙으로 동작하는 자료 구조는 무엇입니까?
- A이진 트리(Binary tree)
- B큐(Queue)
- C힙(Heap)
- D스택(Stack)
3.쉬움
스택의 peek(또는 top) 연산은 무엇을 합니까?
- A스택의 모든 원소를 제거한다
- B스택의 맨 아래 원소를 반환한다
- C맨 위 원소를 제거하지 않고 반환한다
- D맨 위 원소를 제거하고 반환한다
4.보통
무방향 그래프의 인접 행렬에 대해 참인 것은 무엇입니까?
- A주대각선에는 항상 1이 들어 있다
- B각 행에 1이 정확히 하나 있다
- C주대각선에 대해 대칭이다
- D항상 상삼각 행렬이다
5.보통
실제로 배열 순회가 같은 길이의 연결 리스트 순회보다 훨씬 빠른 경우가 많은 이유는 무엇입니까?
- A연결 리스트는 항상 원소를 디스크에 저장하기 때문에
- B배열 순회는 전체가 O(1)이고 연결 리스트 순회는 O(n)이기 때문에
- C배열은 값 비교에 더 적은 명령어를 쓰기 때문에
- D배열 원소는 연속되어 있어 CPU 캐시를 잘 활용하기 때문에
6.보통
용량이 n인 배열에 저장된 원형 큐에서 인덱스 i 다음 위치는 어떻게 계산합니까?
- A(i − 1) mod n
- Bi + 1
- C(i + 1) mod n
- D2i + 1
7.어려움
레드-블랙 트리 규칙은 키가 n개인 트리의 높이에 대해 무엇을 보장합니까?
- A높이는 정확히 log2 n이다
- B높이는 최대 2 log2(n + 1)이다
- C높이는 최대 n / 2이다
- D높이는 최대 log2 n + 1이다
8.어려움
위상 정렬을 위한 칸(Kahn) 알고리즘은 진입 차수가 0인 정점을 반복해서 제거합니다. 그런 정점들은 어떤 구조에 보관됩니까?
- A진입 차수가 0인 정점들의 큐(또는 아무 컬렉션)
- B진출 차수로 정렬된 최대 힙
- C방문한 모든 간선의 스택
- D이미 제거된 정점이 어느 것인지 기록하는 인접 행렬
정답표
- 1. D · 저장된 원소 수를 버킷 수로 나눈 값
- 2. B · 큐(Queue)
- 3. C · 맨 위 원소를 제거하지 않고 반환한다
- 4. C · 주대각선에 대해 대칭이다
- 5. D · 배열 원소는 연속되어 있어 CPU 캐시를 잘 활용하기 때문에
- 6. C · (i + 1) mod n
- 7. B · 높이는 최대 2 log2(n + 1)이다
- 8. A · 진입 차수가 0인 정점들의 큐(또는 아무 컬렉션)
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.