1.쉬움
단일 연결 리스트에서 마지막 노드의 next 포인터에는 무엇이 들어 있습니까?
- A이전 노드의 주소
- B리스트의 노드 수
- CNull(노드 없음)
- D첫 번째 노드의 주소
2.쉬움
"선입선출"(FIFO) 원칙으로 동작하는 자료 구조는 무엇입니까?
- A이진 트리(Binary tree)
- B큐(Queue)
- C힙(Heap)
- D스택(Stack)
3.쉬움
이진 트리의 후위 순회(postorder)는 노드를 어떤 순서로 방문합니까?
- A왼쪽 서브트리, 오른쪽 서브트리, 노드
- B왼쪽 서브트리, 노드, 오른쪽 서브트리
- C노드, 왼쪽 서브트리, 오른쪽 서브트리
- D오른쪽 서브트리, 노드, 왼쪽 서브트리
4.보통
균형 이진 탐색 트리에서 키를 탐색하는 시간 복잡도는 무엇입니까?
- AO(n log n)
- BO(n)
- CO(1)
- DO(log n)
5.보통
높이를 간선 수로 셀 때, 높이가 h인 포화 이진 트리의 노드는 몇 개입니까?
- A2h + 1
- Bh2
- C2h+1 − 1
- D2h
6.보통
후위 표기식 3 4 + 2 * 의 값은 얼마입니까?
- A11
- B24
- C14
- D10
7.어려움
AVL 노드가 왼쪽 자식의 오른쪽 서브트리가 너무 높아져 불균형해졌습니다(left-right 경우). 어떤 수정이 적용됩니까?
- A왼쪽 자식에서 왼쪽 회전 후 노드에서 오른쪽 회전
- B노드에서 단일 오른쪽 회전
- C왼쪽 자식에서 오른쪽 회전 후 노드에서 왼쪽 회전
- D노드에서 단일 왼쪽 회전
8.어려움
O(1)의 추가 메모리로 단일 연결 리스트에 사이클이 있는지 어떻게 탐지할 수 있습니까?
- A개수가 리스트 길이 필드를 넘을 때까지 노드를 센다
- B포인터 하나는 한 칸씩, 다른 하나는 두 칸씩 움직여 만나는지 확인한다
- C리스트를 정렬하고 중복을 찾는다
- D방문한 모든 노드를 해시 집합에 저장한다
정답표
- 1. C · Null(노드 없음)
- 2. B · 큐(Queue)
- 3. A · 왼쪽 서브트리, 오른쪽 서브트리, 노드
- 4. D · O(log n)
- 5. C · 2h+1 − 1
- 6. C · 14
- 7. A · 왼쪽 자식에서 왼쪽 회전 후 노드에서 오른쪽 회전
- 8. B · 포인터 하나는 한 칸씩, 다른 하나는 두 칸씩 움직여 만나는지 확인한다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.