1.쉬움
이진 트리의 전위 순회(preorder)는 노드를 어떤 순서로 방문합니까?
- A왼쪽 서브트리, 노드, 오른쪽 서브트리
- B왼쪽 서브트리, 오른쪽 서브트리, 노드
- C위에서부터 레벨별로
- D노드, 왼쪽 서브트리, 오른쪽 서브트리
2.쉬움
해시 테이블의 적재율(load factor)이란 무엇입니까?
- A저장된 원소 수를 버킷 수로 나눈 값
- B버킷 수를 저장된 키의 평균 길이로 나눈 값
- C디스크에서 테이블을 불러오는 데 걸리는 시간
- D지금까지의 충돌 횟수
3.쉬움
배열에서는 느리지만 연결 리스트의 head에서는 빠른 연산은 무엇입니까?
- A5번째 원소에 접근하기
- B맨 앞에 삽입하기
- C인덱스로 마지막 원소 읽기
- D고정 배열의 길이 구하기
4.보통
이진 탐색 트리의 한 노드에 오른쪽 서브트리가 있습니다. 그 노드의 중위 후속자(in-order successor)는 어디에 있습니까?
- A항상 오른쪽 자식
- B왼쪽 서브트리의 가장 오른쪽 노드
- C오른쪽 서브트리의 가장 왼쪽 노드
- D항상 부모
5.보통
이진 탐색 트리에서 최소 키는 어떻게 찾습니까?
- A루트에서 왼쪽 자식이 없을 때까지 왼쪽 자식을 따라간다
- B모든 리프를 방문하여 비교한다
- C루트만 본다
- D루트에서 오른쪽 자식이 없을 때까지 오른쪽 자식을 따라간다
6.보통
도로망에 교차로가 100,000개 있고, 각 교차로는 다른 교차로 약 4개와 연결됩니다. 가장 적합한 표현은 무엇입니까?
- A간선들의 이진 힙
- B인접 리스트
- C정점들의 정렬된 배열 하나
- D인접 행렬
7.어려움
배열에서 크기 k인 모든 윈도우의 최댓값을 전체 O(n)에 계산할 수 있게 하는 구조는 무엇입니까?
- A윈도우마다 다시 만드는 최소 힙
- B이동으로 갱신하는 정렬된 배열
- C값의 내림차순으로 인덱스를 담는 덱
- D윈도우 원소들의 단일 연결 리스트
8.어려움
원형 버퍼에서 front == rear는 비어 있음 또는 가득 참을 뜻할 수 있습니다. 둘을 구별하는 일반적인 방법은 무엇입니까?
- Afront와 rear를 같은 변수에 저장한다
- B버퍼 크기를 2의 거듭제곱으로 만든다
- C원소 개수를 따로 유지하거나 항상 칸 하나를 비워 둔다
- Dfront가 rear와 같을 때마다 항상 버퍼를 비워 상태가 비어 있음이 되게 한다
정답표
- 1. D · 노드, 왼쪽 서브트리, 오른쪽 서브트리
- 2. A · 저장된 원소 수를 버킷 수로 나눈 값
- 3. B · 맨 앞에 삽입하기
- 4. C · 오른쪽 서브트리의 가장 왼쪽 노드
- 5. A · 루트에서 왼쪽 자식이 없을 때까지 왼쪽 자식을 따라간다
- 6. B · 인접 리스트
- 7. C · 값의 내림차순으로 인덱스를 담는 덱
- 8. C · 원소 개수를 따로 유지하거나 항상 칸 하나를 비워 둔다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.