1.쉬움
덱(deque, double-ended queue)이란 무엇입니까?
- A우선순위로 정렬된 큐
- B뒤쪽에서만 제거할 수 있는 큐
- C양쪽 끝에서 삽입과 제거를 할 수 있는 구조
- D하나의 배열을 공유하는 별개의 큐 두 개
2.쉬움
해시 테이블의 적재율(load factor)이란 무엇입니까?
- A디스크에서 테이블을 불러오는 데 걸리는 시간
- B저장된 원소 수를 버킷 수로 나눈 값
- C지금까지의 충돌 횟수
- D버킷 수를 저장된 키의 평균 길이로 나눈 값
3.쉬움
트리에서 형제(sibling) 노드란 무엇입니까?
- A서로 다른 서브트리에서 같은 깊이에 있는 노드들
- B같은 부모를 공유하는 노드들
- C자식이 없는 노드들
- D한 노드와 그 부모
4.보통
정점 V개, 간선 E개인 그래프에서 인접 리스트는 메모리를 얼마나 사용합니까?
- AO(E²)
- BO(V²)
- CO(V × E)
- DO(V + E)
5.보통
AVL 트리는 모든 노드에서 어떤 균형 조건을 유지합니까?
- A모든 노드가 빨간색 또는 검은색으로 칠해져 있다
- B모든 노드의 두 서브트리가 정확히 같은 수의 노드를 포함한다
- C모든 리프가 정확히 같은 깊이에 있다
- D왼쪽과 오른쪽 서브트리의 높이 차이가 최대 1이다
6.보통
키 50, 30, 70, 20, 40을 이 순서로 빈 이진 탐색 트리에 삽입합니다. 30의 왼쪽 자식은 무엇입니까?
- A40
- B50
- C70
- D20
7.어려움
정렬된 연결 리스트와 비교했을 때 스킵 리스트의 주요 장점은 무엇입니까?
- A키를 순서 없이 저장한다
- B추가 메모리를 사용하지 않는다
- C모든 노드가 다른 모든 노드에 대한 포인터를 저장하므로 O(1) 탐색이 보장된다
- D여러 레벨의 전방 포인터를 사용하여 기대 O(log n) 탐색이 가능하다
8.어려움
위상 정렬을 위한 칸(Kahn) 알고리즘은 진입 차수가 0인 정점을 반복해서 제거합니다. 그런 정점들은 어떤 구조에 보관됩니까?
- A진출 차수로 정렬된 최대 힙
- B진입 차수가 0인 정점들의 큐(또는 아무 컬렉션)
- C방문한 모든 간선의 스택
- D이미 제거된 정점이 어느 것인지 기록하는 인접 행렬
정답표
- 1. C · 양쪽 끝에서 삽입과 제거를 할 수 있는 구조
- 2. B · 저장된 원소 수를 버킷 수로 나눈 값
- 3. B · 같은 부모를 공유하는 노드들
- 4. D · O(V + E)
- 5. D · 왼쪽과 오른쪽 서브트리의 높이 차이가 최대 1이다
- 6. D · 20
- 7. D · 여러 레벨의 전방 포인터를 사용하여 기대 O(log n) 탐색이 가능하다
- 8. B · 진입 차수가 0인 정점들의 큐(또는 아무 컬렉션)
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.