CodeBlanks Logo Icon CodeBlanks

Özet - Ağaçlar

Küçük bir ikili ağacı gezip değerleri yazdıran mini görev yaparsın.

Özet - Ağaçlar

Ağaç: hiyerarşik, döngüsüz; n düğüm, n-1 kenar. Kök, iç düğüm, yaprak. İkili ağaçta en fazla 2 çocuk.

Yükseklik: en uzun yol; düğüm sayısı: 1 + sol + sağ. Inorder/preorder/postorder dolaşımları O(n).

Ağaçlar dosya sistemleri, ifade ayrıştırma ve arama (BST) için temeldir.

Uygulama Özet: inorder dolaşım

inorder(node) yaz. Sol-kök-sağ, değerleri yazdır. root = Node(2); root.left = Node(1); root.right = Node(3); inorder(root) ile 1 2 3 yazdır.

Başlangıç kodu

solution.py
def inorder(node):
    # Sol-kök-sağ dolaş

Örnek çözüm

solution.py
class Node:
    def __init__(self, val):
        self.val = val
        self.left = None
        self.right = None
def inorder(node):
    # Sol-kök-sağ dolaş
    if node is None:
        return
    inorder(node.left)
    print(node.val)
    inorder(node.right)
root = Node(2)
root.left = Node(1)
root.right = Node(3)
inorder(root)

Beklenen çıktı

1
2
3

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Özet - Ağaçlar: kavramları eşleştir

Kavram Anlamı
Kök En üst
Yaprak Çocuksuz
Yükseklik En uzun yol
Inorder Sol-kök-sağ

2 Düğüm-kenar

Soru
n düğüm → ____ kenar
Cevap
n düğüm → n - 1 kenar

Açıklama: n - 1 doğru.

3 Inorder BST'de ne verir?

  • Artan sıra Doğru cevap
  • Rastgele
  • Yapraklar
  • Azalan sıra

Açıklama: Artan sıra

Orta seviye bölümündeki tüm dersler