Özet - Ağaçlar
- Algoritmalar kursu
- Orta seviye
- Ders 28/80
- 4 dk
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
def inorder(node):
# Sol-kök-sağ dolaşÖrnek çözüm
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
n düğüm → ____ kenar
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