İ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, kursun bir parçasıdır
Python'da Veri Yapıları ve Algoritmalar
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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"))