Hepimiz yaprak düğümleri ziyaret edip onların ne kadar derin olduğunu anlamaya ihtiyacımız var. Bu öneriler:
senin düğüm-ziyaret fonksiyonunu fazladan argüman verin. O gidiyor ama aynı zamanda ne kadar derin olduğunu olmayacağım sadece nereye bilmesi gerekir. denir her zaman, daha derin gitmek için üzerine denir, bu nedenle düğüm ziyaretçi sadece arayanın aldığı derinlik sayıyı artırmak zorundadır.
Şimdi 2 şeyden biri olabilir:
Ya buldum düğüm bir yaprak düğüm, hiç alt yoktur yani; Bu durumda, ziyaretçi arayana onun derinliğini dönmek gerekiyor. Evet, sadece o arayana + 1 aldığım sayısını döndürür.
ya da bir yaprak düğüm değil. Bu durumda, 1 veya 2 çocuk ya sahip olacaktır. Biz sadece çocuklar tarafından döndürülen derinliklerde toplamını döndürür, böylece geri arayana kadar bizim çocuklar gelenler derinlik raporlarını almak gerekir.
özyineleme büyü sayesinde sayı tüm çocukların derinliklerinin toplamı olacaktır root ziyaretçiye döndü.
Ortalama bir derinlik elde etmek için, yaprak düğümlerin sayısına göre bu bölmek isteyeceksiniz; hangi ı hesaplamak için ikinci geçişi için terk ediyorum. O birinde yapılabilirdi, ama biraz daha karmaşık olacaktır.