İkili arama ağacına düğüm ekleme
Videoda, ikili arama ağaçlarının (BST) ne olduğunu ve temel işlemlerinin nasıl uygulanacağını öğrendin.
Bu egzersizde, bir düğümü bir BST'ye ekleyen bir fonksiyon uygulayacaksın.
Kodunu test etmek için aşağıdaki ağacı kullanabilirsin:

Düğümler, kitap başlıklarını içerir ve alfabetik sıraya göre bir BST oluşturur.
Bu ağaç bst değişkenine önceden yüklendi:
bst = CreateTree()
Düğümün doğru şekilde eklendiğini şu kodla kontrol edebilirsin:
bst.insert("Pride and Prejudice")
print(search(bst, "Pride and Prejudice"))
Bu egzersiz
Python'da Veri Yapıları ve Algoritmalar
kursunun bir parçasıdırEgzersiz talimatları
- BST'nin boş olup olmadığını kontrol et.
- Eklenecek verinin geçerli düğümün verisinden küçük olup olmadığını kontrol et.
- Eklenecek verinin geçerli düğümün verisinden büyük olup olmadığını kontrol et.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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"))