본문 바로가기
IT/algorithm

[Python] 알고리즘 개념12 퀴즈 - 트리와 이진 탐색 트리

by Echinacea 2025. 2. 23.
반응형

 

 

📌 퀴즈 개요

다음 퀴즈를 통해 트리(Tree)와 이진 탐색 트리(BST) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊


 

 

🧩 1. 개념 이해 문제

 

(1) 트리(Tree)의 특징으로 옳지 않은 것은?

  1. 계층적인 구조를 가진 비선형 자료구조이다.
  2. 부모 노드는 하나 이상의 자식 노드를 가질 수 있다.
  3. 트리는 반드시 루트 노드와 리프 노드를 포함해야 한다.
  4. 트리는 사이클(Cycle)을 가질 수 있다.

 

(2) 이진 탐색 트리(BST)의 특징으로 옳지 않은 것은?

  1. 왼쪽 서브트리의 값은 루트보다 작다.
  2. 오른쪽 서브트리의 값은 루트보다 크다.
  3. 중위 순회(Inorder Traversal)를 수행하면 값이 정렬된 상태로 출력된다.
  4. BST에서는 중복된 값을 허용할 수 없다.

 

 

🧩 2. 실전 문제

 

(3) 다음 이진 탐색 트리에서 중위 순회(Inorder Traversal) 시 출력되는 값의 순서는?

    10
   /  \
  5   15
 / \    \
2   7    20
  1. 10 5 2 7 15 20
  2. 2 5 7 10 15 20
  3. 10 15 20 5 2 7
  4. 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)
  1. 2
  2. 5
  3. 7
  4. 15

 

 

 

 

 

 

 

 

 

 

 

 

🏆 정답 및 해설

(1) 정답: 4
✅ 트리는 비선형 자료구조이며, 사이클을 가지지 않습니다.

(2) 정답: 4
✅ BST는 중복된 값을 허용할 수도 있지만, 일반적으로 중복을 허용하지 않는 구현이 많습니다.

(3) 정답: 2
✅ 중위 순회(Inorder Traversal)는 왼쪽 → 루트 → 오른쪽 순서로 방문하므로, 2 5 7 10 15 20이 출력됩니다.

(4) 정답: 3
✅ root.left.right는 5의 오른쪽 자식이므로, 7이 출력됩니다.


 

반응형

댓글