반응형
📌 퀴즈 개요
다음 퀴즈를 통해 트리(Tree)와 이진 탐색 트리(BST) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊
🧩 1. 개념 이해 문제
(1) 트리(Tree)의 특징으로 옳지 않은 것은?
- 계층적인 구조를 가진 비선형 자료구조이다.
- 부모 노드는 하나 이상의 자식 노드를 가질 수 있다.
- 트리는 반드시 루트 노드와 리프 노드를 포함해야 한다.
- 트리는 사이클(Cycle)을 가질 수 있다.
(2) 이진 탐색 트리(BST)의 특징으로 옳지 않은 것은?
- 왼쪽 서브트리의 값은 루트보다 작다.
- 오른쪽 서브트리의 값은 루트보다 크다.
- 중위 순회(Inorder Traversal)를 수행하면 값이 정렬된 상태로 출력된다.
- BST에서는 중복된 값을 허용할 수 없다.
🧩 2. 실전 문제
(3) 다음 이진 탐색 트리에서 중위 순회(Inorder Traversal) 시 출력되는 값의 순서는?
10
/ \
5 15
/ \ \
2 7 20
- 10 5 2 7 15 20
- 2 5 7 10 15 20
- 10 15 20 5 2 7
- 2 7 5 20 15 10
(4) 다음 코드의 실행 결과는?
class BST:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
def insert(self, value):
if value < self.data:
if self.left is None:
self.left = BST(value)
else:
self.left.insert(value)
else:
if self.right is None:
self.right = BST(value)
else:
self.right.insert(value)
root = BST(10)
root.insert(5)
root.insert(15)
root.insert(2)
root.insert(7)
root.insert(20)
print(root.left.right.data)
- 2
- 5
- 7
- 15
🏆 정답 및 해설
(1) 정답: 4
✅ 트리는 비선형 자료구조이며, 사이클을 가지지 않습니다.
(2) 정답: 4
✅ BST는 중복된 값을 허용할 수도 있지만, 일반적으로 중복을 허용하지 않는 구현이 많습니다.
(3) 정답: 2
✅ 중위 순회(Inorder Traversal)는 왼쪽 → 루트 → 오른쪽 순서로 방문하므로, 2 5 7 10 15 20이 출력됩니다.
(4) 정답: 3
✅ root.left.right는 5의 오른쪽 자식이므로, 7이 출력됩니다.
반응형
'IT > algorithm' 카테고리의 다른 글
[Python] 알고리즘 개념14 퀴즈 - 유니온 파인드 (0) | 2025.02.24 |
---|---|
[Python] 알고리즘 개념14 - 유니온 파인드(Disjoint Set) (0) | 2025.02.24 |
[Python] 알고리즘 개념13 - 그래프(Graph)와 탐색 (BFS, DFS) (0) | 2025.02.24 |
[Python] 알고리즘 개념13 퀴즈 - 그래프와 탐색 (0) | 2025.02.24 |
[Python] 알고리즘 개념12 - 트리(Tree)와 이진 탐색 트리(BST) (0) | 2025.02.23 |
[Python] 알고리즘 개념11 퀴즈 - 우선순위 큐와 힙 (0) | 2025.02.23 |
[Python] 알고리즘 개념11 - 우선순위 큐와 힙(Heap) (0) | 2025.02.23 |
[Python] 알고리즘 개념10 퀴즈 - 해시 테이블과 해싱 (0) | 2025.02.23 |
댓글