Merhaba arkadaşlar 🙂
Bu yazımda sizlere ağaç veri yapısından bahsedeceğim. Benim üniversitede aldığım dersler arasında pek çok yerde karşıma çıkmış olan ağaçlar oldukça önemli olup, hem öğrenmesi hem çalışması hem de uygulaması ile çok sevdiğim bir konu olmuştur. Bu yüzden bildiklerimi sizlerle de paylaşmak istedim. Sizler için yararlı olmasını umut ediyorum.
Öncelikle veri yapısı sizlerin de bildiği üzere:
Belirli bir kriter veya kriterlere göre verilerin sıralanması, gruplandırılması, araştırılması ve arama işlemlerinin yapılmasını kolaylaştırmak için verilerin düzenlenmesi işlemidir. Ağaç veri yapısı da bu yöntemlerin kolaylaştırılması için ortaya çıkmış alt veri yapılarındandır. Bu yazıda ağaçlar ile ilgili temel tanımlamalar ve kavramlar ile ilgili bilgileri öğrenecek ya da bilgilerinizi pekiştireceksiniz.
Keyifli okumalar….. 🙂
Ağaç Veri Yapısı
Verilerin birbirine ağaç yapısı oluşturur gibi bağlanmasıyla elde edilen veri yapısıdır. Soyağacı oluştururken kullandığımız terimleri ağaç veri yapısı oluştururken de kullanırız. Örneğin; çocuk, kardeş, düğüm, aile, ata.
Ağaçlar doğrusal olmayan (non-linear) veri yapılarıdır ve hiyerarşik ilişkileri bizlere gösterir. Ağaç veri yapısı düğümler (node) ile kenarlardan (edge) oluşmaktadır. Her düğüm bir veriyi gösteri ve kenarlar arası bağlantılar nodelar ile sağlanır. Ağaç veri yapısında arama işlemleri Linked Listlere göre hızlı yapıldığından tercih sebebi olmaktadır.
Her düğümdeki sol ve sağ kenarlar yardımıyla diğer düğümlere ulaşılır. Sol ve sağ kenarlar veri içerebileceği gibi NULL de olabilir. Düğüm yapıları değişik türlerde bilgiler içeren veya birden fazla bilgi içeren ağaçlar da olabilir [1].
Ağaç Çeşitleri :
- İkili Ağaç (Binary Tree)
- İkili Arama Ağacı ( Binary Search Tree)
- Andelson Velsky Landis Ağaçları
- Internal Path Reduction (IPR) Ağaçları
- B Ağaçları
- B+ Ağaçları
- B# Ağaçları