Inserarea unui nod într-un arbore binar de căutare
În videoclip, ai aflat ce sunt arborii binari de căutare (BST) și cum să implementezi operațiile lor principale.
În acest exercițiu, vei implementa o funcție pentru a insera un nod într-un BST.
Pentru a testa codul, poți folosi următorul arbore:

Nodurile conțin titluri de cărți, construind un BST bazat pe ordinea alfabetică.
Acest arbore a fost preîncărcat în variabila bst:
bst = CreateTree()
Poți verifica dacă nodul este inserat corect cu acest cod:
bst.insert("Pride and Prejudice")
print(search(bst, "Pride and Prejudice"))
Acest exercițiu face parte din cursul
Structuri de date și algoritmi în Python
Instrucțiuni pentru exercițiu
- Verifică dacă arborele BST este gol.
- Verifică dacă datele de inserat sunt mai mici decât datele nodului curent.
- Verifică dacă datele de inserat sunt mai mari decât datele nodului curent.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
class BinarySearchTree:
def __init__(self):
self.root = None
def insert(self, data):
new_node = TreeNode(data)
# Check if the BST is empty
if ____ == None:
self.root = new_node
return
else:
current_node = self.root
while True:
# Check if the data to insert is smaller than the current node's data
if ____ < ____:
if current_node.left_child == None:
current_node.left_child = new_node
return
else:
current_node = current_node.left_child
# Check if the data to insert is greater than the current node's data
elif ____ > ____:
if current_node.right_child == None:
current_node.right_child = new_node
return
else:
current_node = current_node.right_child
bst = CreateTree()
bst.insert("Pride and Prejudice")
print(search(bst, "Pride and Prejudice"))