1. Ana Sayfa
  2. Algoritmalar
  3. Veri Yapıları 6 Ağaçlar

Veri Yapıları 6 Ağaçlar

featured

Ağaç veri yapısı doğrusal olmayan veri yapılarındandır. Özellikle arama işlemleri için çok güçlü olduğundan yaygın kullanılmaktadır. Bir ağaç verilerin birbirlerine ağaç oluşturuyormuş gibi sanal olarak bağlanmasıyla meydana gelmektedir. Ağaç veri yapısında veriler düğümlerde tutulmaktadır. Bu düğümlere node denilmektedir. Düğümler arası ilişki kenarlar yani dallar ile yapılmaktadır. Edge olarak da ifade edilebilir.

En tepedeki düğüme Root Node denilmektedir. Çocuğu olan düğümlere Parent denilmektedir. Düğüme bağlı olan alt düğümlere ise çocuk (Child) denilmektedir. Çocuğu olmayan düğümlere de yaprak (leaf) denilmektedir.

Bir düğümün alt ağaçlarına subtree denir. Aynı babaya sahip düğümlere kardeş düğüm denir. Bir düğüme bağlı tüm alt düğümlere ise o düğümün varisleri denilmektedir.

En çok bilinen ağaç veri yapısı türleri ikili arama ağacı (binary search tree), kodlama ağacı, sözlük ağacı, kümeleme ağacı ve bağıntı ağacıdır. Örneğin veri tabanı indeksleme mekanizmasının arka planındaki veri yapısı B+ ağaç yapısına dayanmaktadır.

Bu ağaçların her birinin özellikleri farklılaşabilmektedir. Özellikle yaygın olarak kullanılan ikili arama ağacı ile ilgili belli başlı kurallar ile karşılaşmak mümkündür. Ağaçların özellikleri ve detayları ayrı birer konu olacağı için bu bölümde yer verilmemiştir.

Arama işlemlerinde Binary Search Tree (BST), dengeleme ağaçları AVL, Red-Black Ağaçları, Splay Ağacı ve B Ağaçları hakkında ön araştırma yapılması bu ağaçlar hakkındaki detaylara gelmeden önce faydalı olacaktır.

 

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

Algoritmalara Giriş Thomas H. CormenCharles E. LeisersonRonald L. RivestClifford Stein

Yorum Yap

Yazar Hakkında

Bilgisayar Mühendisliği Doktora programında öğrenciliğim devam etmektedir. Bir Vakıf üniversitesinde 2016 yılı itibariyle Bilgisayar Mühendisi 2020 yılı itibariyle ise Ofis Yöneticisi mühendis olarak çalışmaktayım.  Başlıca uzmanlık alanlarım arasında Asp.Net Web Forms, Asp.Net MVC, .Net Core, C# ve SQL Server gelmektedir. Bunların yanı sıra iş hayatımda sistem ve siber güvenlik konularında da çalışmalarım devam etmektedir. Çeşitli AB destek projelerinde yazılım sorumlusu olarak görev yapıyor ve çalışmalarımı Secure Design Pattern, Yazılım Güvenliği, Siber Güvenlik, Bilgi Güvenliği konularında sürdürüyorum. Asp.net ile Proje Geliştirme ve Bilgisayar Mühendisliğine Giriş isimli kitapların yazarıyım.

Yorum Yap