νΈλ¦¬ ꡬν λ°©λ²
1. νΈλ¦¬ λ Έλ ν΄λμ€ μ μ
-
νΈλ¦¬λ λ Έλλ€μ΄ λΆλͺ¨-μμ κ΄κ³λ₯Ό κ°μ§λ©° μ°κ²°λ κ³μΈ΅μ μλ£κ΅¬μ‘°μ λλ€.
-
TreeNode
ν΄λμ€λ κ° λ Έλμ λ°μ΄ν°μ μΌμͺ½ λ° μ€λ₯Έμͺ½ μμμ λν μ°Έμ‘°λ₯Ό ν¬ν¨ν©λλ€.
νΈλ¦¬ λ
Έλ ν΄λμ€ μ μ
class TreeNode: def __init__(self, key): self.key = key self.left = None self.right = None
2. μ΄μ§ νμ νΈλ¦¬ ν΄λμ€ μ μ
-
μ΄μ§ νμ νΈλ¦¬λ κ° λ Έλκ° μ΅λ λ κ°μ μμμ κ°μ§λ©°, μΌμͺ½ μμμ λΆλͺ¨λ³΄λ€ μκ³ , μ€λ₯Έμͺ½ μμμ λΆλͺ¨λ³΄λ€ ν° νΉμ±μ κ°μ΅λλ€.
-
BinarySearchTree
ν΄λμ€λ νΈλ¦¬μ λ£¨νΈ λ Έλλ₯Ό μ μ₯ν©λλ€.
class BinarySearchTree: def __init__(self): self.root = None
3. ν€ μ½μ λ©μλ
-
insert
λ©μλλ μλ‘μ΄ ν€λ₯Ό νΈλ¦¬μ μ½μ ν©λλ€. -
μ½μ κ³Όμ μ λ Έλλ₯Ό μ μ ν μμΉμ λ°°μΉνμ¬ μ΄μ§ νμ νΈλ¦¬μ μμ±μ μ μ§ν©λλ€.
ν€ μ½μ
λ©μλ μμ
def insert(self, key): if self.root is None: self.root = TreeNode(key) else: self._insert_recursive(self.root, key) def _insert_recursive(self, node, key): if key < node.key: if node.left is None: node.left = TreeNode(key) else: self._insert_recursive(node.left, key) elif key > node.key: if node.right is None: node.right = TreeNode(key) else: self._insert_recursive(node.right, key)
4. μ΄μ§ νμ νΈλ¦¬ κ°μ²΄ μμ± λ° μ¬μ©
BinarySearchTree
ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±νκ³ , ν€λ₯Ό μ½μ νμ¬ νΈλ¦¬λ₯Ό ꡬμ±ν©λλ€.
μ΄μ§ νμ νΈλ¦¬ κ°μ²΄ μμ± λ° μ¬μ© μμ
# μ΄μ§ νμ νΈλ¦¬ κ°μ²΄ μμ± bst = BinarySearchTree() # ν€ μ½μ bst.insert(50) bst.insert(30) bst.insert(70) bst.insert(20) bst.insert(40)
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Run
Generate
Execution Result