Ağaç veri yapısı, en çok kullanılan ADT'lerden birisidir. (ADT = Soyut veri yapısı) Temel amacı veriyi ağaç yapısı kriterlerine göre tutmaktır. Binary Tree en çok kullanılan ağaç modellerinden bir tanesidir. İkili ağaç denmesinin sebebi her düğümün en fazla 2 adet çocuğunun olabilmesidir.
 |
ikili ağaç |
Ağaç Veri Yapısı Terminolojisini Öğrenmek İçin Lütfen Tıklayın
a
/ \
T1 T2
Yukarıda gördüğünüz a verisinin T1 ve T2 çocukları vardır. Bunlar yapısal olarak birbirleriyle ilişkilidir.
İkili arama ağaçlarını kod olarak oluştururken bilgileri saklamak için struct yapısı kullanırız. Elbette Nesne Yönelimli Programlama dillerinde bu iş class yapısı ile halledilir. Temel olay tuttuğumuz düğüme dair bilgileri bir nesnede tutmaktır. Peki hangi bilgiler tutulmalıdır?
İkili arama ağaçlarında left child ve right child olmak üzere iki bilgi bulunur. Bu en temel mantıktır. Bu sayede, tüm ağacın bilgilerini tutmamız mümkündür.
struct node
{
int data;
struct node *left;
struct node *right;
};
|
Yukarıdaki yapı, ağaçtaki bir düğümün bilgilerini tutmaktadır. Dikkat edilmesi gereken nokta, left ve right bilgileri pointer tipinde bir değişkendir. Yani direkt değeri tutmak yerine, değerin (düğümün) adresini tutarlar. Linked List'deki tuttuğumuz node->next mantığının aynısıdır. Sadece bir düğüm adresi yerine, iki düğümün adresi tutulmaktadır.
Ağaç Veri Yapısının Avantajları
- Hiyerarşik olarak bilgi saklamaya olanak verir
- Arama İşlemini Kolaylaştırır
- Sıralanmış listeler üzerinde işlem yapmaya olanak verir
Önemli Not: Ağaçlardaki düğümler normalde çok sayıda düğüme sahip olabilir. Ancak İkili Ağaçlar yalnızca iki çocuğa sahip olabilir. Binary Trees özel bir ağaç türüdür.
Mutlaka Okuyun!
İkili Arama Ağaçları ÖzellikleriEtiketler: ağaç veri yapısı, Ağaç Veri Yapısı Terminoloji, Binary Tree