1.쉬움
단일 연결 리스트에서 마지막 노드의 next 포인터에는 무엇이 들어 있습니까?
- A첫 번째 노드의 주소
- BNull(노드 없음)
- C리스트의 노드 수
- D이전 노드의 주소
2.쉬움
노드가 n개인 트리에는 간선이 몇 개 있습니까?
- An
- Bn − 1
- Cn + 1
- D2n
3.쉬움
가중 그래프란 무엇입니까?
- A간선이 더 많은 일부 정점이 다른 정점보다 무거운 그래프
- B각 간선에 비용이나 거리 같은 수치가 있는 그래프
- C디스크에 저장된 그래프
- D간선이 정점보다 많은 그래프
4.보통
이진 트리의 루트는 1이고 왼쪽 자식은 2, 오른쪽 자식은 3입니다. 노드 2의 자식은 4(왼쪽)와 5(오른쪽)입니다. 후위 순회 결과는 무엇입니까?
- A4 2 5 1 3
- B5 4 3 2 1
- C1 2 4 5 3
- D4 5 2 3 1
5.보통
원형 버퍼(링 버퍼)는 일반적으로 무엇을 구현하는 데 사용됩니까?
- A해시 함수
- B이진 탐색 트리
- C그래프 순회
- D고정 크기 큐
6.보통
AVL 트리와 레드-블랙 트리가 보장하는 것은 무엇입니까?
- A자식이 두 개인 노드가 없음
- B키가 삽입 순서대로 저장됨
- C재균형을 통한 O(log n) 높이
- D모든 경우의 상수 시간 탐색
7.어려움
서버가 해시 함수를 범용(universal) 해시 함수족에서 무작위로 고르는 이유는 무엇일 수 있습니까?
- A테이블 크기 조정의 필요를 없애기 위해
- B공격자가 모두 충돌하는 키를 많이 고를 가능성을 매우 낮추기 위해
- C공격자가 어떤 키를 보내더라도 어떤 두 키도 결코 충돌하지 않도록 보장하기 위해
- D해시 테이블을 정렬된 상태로 만들기 위해
8.어려움
O(1)의 추가 메모리로 단일 연결 리스트에 사이클이 있는지 어떻게 탐지할 수 있습니까?
- A리스트를 정렬하고 중복을 찾는다
- B포인터 하나는 한 칸씩, 다른 하나는 두 칸씩 움직여 만나는지 확인한다
- C개수가 리스트 길이 필드를 넘을 때까지 노드를 센다
- D방문한 모든 노드를 해시 집합에 저장한다
정답표
- 1. B · Null(노드 없음)
- 2. B · n − 1
- 3. B · 각 간선에 비용이나 거리 같은 수치가 있는 그래프
- 4. D · 4 5 2 3 1
- 5. D · 고정 크기 큐
- 6. C · 재균형을 통한 O(log n) 높이
- 7. B · 공격자가 모두 충돌하는 키를 많이 고를 가능성을 매우 낮추기 위해
- 8. B · 포인터 하나는 한 칸씩, 다른 하나는 두 칸씩 움직여 만나는지 확인한다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.