JS ALGORITHMS
İkili Arama Ağacı (Binary Search Tree) Yapısı Oluşturma
Ağaç yapılarını anlatmaya başlamıştık. Ağaç yapısı ile ilgili bugün 2 li Arama Ağaçları nedir ? Nasıl Oluşturulur ? sorularına cevap arayacağız.
--
Neden 2 li arama ağacı demişler ?
- Her bir düğümün en fazla 2 çocuk elamanı olabiliyor. Genelde bunlara sol(left) ve right(sağ) düğümler deniyor.
- Değeri küçük olan çocuk düğümler sol tarafta birikirken, değeri büyük olan sağda birikiyor. Bu da ekleme sırasında sıralı olmayan bir dizinin ekleme anında belli bir hiyerarşiye göre oluşmasını daha sonrasında arama yaparken verilere daha hızlı erişim sağlıyor.
Örneğin elimizde bir dizi olsun.. [1,2,5,3,6,4]. Adım adım ağaca eklediğimizde aşağıdaki gibi bir görüntü oluşur.
Yani kod olarak çıktımız aşağıdaki şekilde bir veri yapısı oluşturmak olmalı.
Bu yapıyı oluşturmak için öncelikle düğüm yapımızı oluşturuyoruz.
Algoritmamız 2 kısımdan oluşuyor;
- Kırmızı kısım: Eklenen verileri TreeNode dönüştürüp insertNode yani ağaca ekle kodunu çağırıyor.
- Mavi kısımda: Eklenecek düğümün ağaçta hangi düğümün sağ/sol olduğuna karar verip eklemeyi gerçekleştiriyor.
Kaynak
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.