İkili Arama Ağacı Yapısı Oluşturma

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.

Binary Search Tree Düğümleri Ekleme

Yani kod olarak çıktımız aşağıdaki şekilde bir veri yapısı oluşturmak olmalı.

İkili Arama Ağacı, Binary Search Tree Yapısı

Bu yapıyı oluşturmak için öncelikle düğüm yapımızı oluşturuyoruz.

BST Düğüm Yapısı

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.
Algoritmanın Açıklaması

Kaynak

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--