1.쉬움
그래프에서 사이클이란 무엇입니까?
- A같은 정점에서 시작하고 끝나는 경로
- B간선이 없는 정점
- C모든 정점을 방문하는 경로
- D가중치가 0인 간선
2.쉬움
해시 테이블은 데이터를 어떤 형태로 저장합니까?
- A정렬된 리스트로만
- B키가 정렬된 트리
- C고정 길이 문자열
- D해시 함수로 위치가 정해지는 키–값 쌍
3.쉬움
이진 트리를 정의하는 것은 무엇입니까?
- A트리의 레벨이 정확히 두 개이다
- B모든 노드의 자식이 최대 두 개이다
- C모든 노드의 자식이 정확히 두 개이다
- D모든 노드가 이진수를 저장한다
4.보통
실행 중인 프로그램이 활성 함수 호출과 그 지역 변수를 추적하는 데 사용하는 자료 구조는 무엇입니까?
- A호출 스택(call stack)
- B힙 메모리 큐
- C프레임들의 이진 탐색 트리
- D함수들의 해시 테이블
5.보통
이진 트리의 루트는 1이고 왼쪽 자식은 2, 오른쪽 자식은 3입니다. 노드 2의 자식은 4(왼쪽)와 5(오른쪽)입니다. 후위 순회 결과는 무엇입니까?
- A1 2 4 5 3
- B4 5 2 3 1
- C5 4 3 2 1
- D4 2 5 1 3
6.보통
도로망에 교차로가 100,000개 있고, 각 교차로는 다른 교차로 약 4개와 연결됩니다. 가장 적합한 표현은 무엇입니까?
- A인접 리스트
- B간선들의 이진 힙
- C정점들의 정렬된 배열 하나
- D인접 행렬
7.어려움
랭크 기반 합치기(union by rank)와 경로 압축(path compression)을 사용하는 union-find(서로소 집합) 구조의 연산당 분할 상환 비용은 얼마입니까?
- AO(n²)
- BO(α(n)), 즉 역 아커만 함수로, 실질적으로 상수이다
- C정확히 O(log n)
- DO(n)
8.어려움
어떤 객체를 해시 맵의 키로 저장한 뒤, 그 해시 함수가 사용하는 필드를 바꿉니다. 예상되는 결과는 무엇입니까?
- A필드가 바뀌는 순간 맵이 오류를 던진다
- B객체가 이전 해시의 버킷에 있으므로 조회가 실패할 수 있다
- C맵이 자동으로 키를 새 버킷으로 옮긴다
- D키의 해시는 프로그램이 시작될 때 한 번만 계산되므로 아무것도 바뀌지 않는다
정답표
- 1. A · 같은 정점에서 시작하고 끝나는 경로
- 2. D · 해시 함수로 위치가 정해지는 키–값 쌍
- 3. B · 모든 노드의 자식이 최대 두 개이다
- 4. A · 호출 스택(call stack)
- 5. B · 4 5 2 3 1
- 6. A · 인접 리스트
- 7. B · O(α(n)), 즉 역 아커만 함수로, 실질적으로 상수이다
- 8. B · 객체가 이전 해시의 버킷에 있으므로 조회가 실패할 수 있다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.