İçeriğe atla
CodeItRaw
Ağaçlar

Ders 2/3

Ağaç sorularının çoğu aşağıdan yukarı çözülür: her düğüm çocuklarına sorar, aldığı iki cevabı birleştirir ve kendi cevabını yukarı verir. Derinlik için birleştirme "büyük olanı al, bir ekle"dir; düğüm sayısı için "ikisini topla, bir ekle".

def depth(node):
if node is None:
return 0
return 1 + max(depth(node.left), depth(node.right))
Boş ağacın derinliği 0, tek düğümlü ağacın 1'dir. Taban durumunda döndürdüğün sayı bütün cevapları kaydırır: 0 yerine 1 dönersen her ağaç bir fazla çıkar.

Bazen düğümün kendisi hakkında bir soru sorarsın: bu bir yaprak mı? Yaprak, iki çocuğu da None olan düğümdür. Yaprakları sayarken üç durum vardır: boş ağaç (0), yaprak (1), iç düğüm (iki alt ağacın toplamı; kendisi sayılmaz).

Görevler

Görevler sırayla açılır. Hepsini çözünce sonraki ders açılır.

Bu dersin görevleri, önceki dersler bitince açılır. Anlatımı şimdiden okuyabilirsin.

  1. 01

    Ağaç Derinliği

    Kod Okuma · Hatayı Bul

  2. 02

    Derinlik

    Fonksiyon

  3. 03

    Yapraklar

    Fonksiyon

Sırayı beklemeden çözmek istersen bütün problemler kilitsiz açık: Problemler listesi