BST Max Depth Calculation

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.

BST Depth Calculation

Ş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.

calcMaxDepth

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.

--

--