İkili Arama Ağacına(BST) Ekleme

#Düğüm oluşturma
class Node():

    def __init__(self,data): #ikili ağaç düğümü 3 kısımdan oluşur
        self.data = data     # 1.Düğümde bulunan değer
        self.left = None     # 2.Düğüm solundaki düğümün  adresi
        self.right= None     # 3.Düğümün sağındaki düğümün adresi

def insert(root,node):
    if root is None:
        root = node
    else:
        if root.data < node.data:
            if root.right is None:
                root.right = node
            else:
                insert(root.right, node)
        else:
            if root.left is None:
                root.left = node
            else:
                insert(root.left, node)

def inorder(root):
    if root:
        inorder(root.left)
        print(root.data,end=" ")
        inorder(root.right)
if __name__=='__main__':

    root = Node(5)         #kök düğüm 5 ekle
    root.left = Node(3)    #kök düğümün soluna 3 ekle
    root.left.left = Node(2) # kök düğümün solunun soluna 2 ekle
    root.left.right = Node(4) #kök düğümün solunun sağına 4 ekle
    root.right = Node(9)      # kök düğümün sağına 9 ekle
    root.right.left = Node(7) # kök düğümün sağının soluna 7 ekle
    root.right.right = Node(10)# kök düğümün sağının sağına 10 ekle

    print("Eklemeden önce İnorder Dolaşma")
    print(inorder(root))
    insert(root, Node(30))
    insert(root, Node(70))
    print()
    print("Eklemeden sonra İnorder Dolaşma")
    print(inorder(root))

    #Ağacının görünümü şu şekilde olur
    """
            5
         /     \
        3       9
     /    \    /  \
   2       4  7    10
  / \     / \    /    \
                      None
None None None """

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s