BaşlayınÜcretsiz Başlayın

İ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:

Graphical representation of a binary search tree.

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ır
Kursu Görüntüle

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ı 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"))
Kodu Düzenle ve Çalıştır