JS Algorithm
İkili Arama Ağacında (Binary Search Tree) Maksimum Derinliği Hesaplama
--
BST (Binary Search Tree) bu sefer ağaç üzerinde gezinerek en derindeki dalın derinlik katmanını hesapmaya çalışacağız.
Derinlikten kastettiğimiz İkili Arama Ağacında en derindeki düğümün yer aladığı derinliği hesaplamaya çalışmak.
Şimdi gelelim derinliği nasıl hesaplayacağımız konusuna. calcMaxDepth şeklinde bir fonksiyon yazıyoruz. (node, depthCounter) şeklinde 2 değişken alıyor. Her bir düğümden alt düğüme geçerken depthCounter , 1 arttırıyoruz. Bu sayede yüksekliği hesaplayabiliyoruz.
Bu hesaplamada algoritma mantığı şöyle çalışıyor.
node null ise baslangıc depthCounter dön (root=null)
node.left node.right null ise depthCounter+1
Bu kısma geldiğimizde left , right node birileri var ise veya her ikiside var ise, bu durumda bunlar üzerinde recursive şekilde nasıl adım atacağız ?
const lDefth = this.calcMaxDepth(node.left, depthCounter + 1);
const rDepth = this.calcMaxDepth(node.right, depthCounter + 1);
return Math.max(lDefth, rDepth);
//En Node Hesaplamasında kendi altındaki sol veya sağ kısmın en derin değerini dönüyor
Kaynak
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.