İkili Arama Ağaçları Oluşturma Örneği
İkili arama ağaçları nasıl oluşturulur? ikili arama ağaçları nasıl yapılır? Ayrık matematik ikili arama ağaçları oluşturma, Veri yapıları ikili arama ağaçları oluşturma
İkili ağaç sisteminde bize bir veri kümesi verilir ve bu veri kümesini uygun bir biçimde alt alta dizilmesi ve aranması istenir. Üniversitelerin Bilgisayar Mühendisliği ayrık matematik ve veri yapıları dersinde görürüz. Sadece ders için konulmamıştır. Bir çok yerde işimize yaracak bilgidir. İkili ağaç sistemi nasıl oluşturulur onu öğreneceğiz.
İkili ağaç sistemi ne işe yarar?
En basit tabiri ile bilgisayar mühendisliğinde ayrık matematik ve veri yapılarında hocaların bununla ilgili büyük olasılıkla sınavda soru sorabilir. Dersi geçmekten ziyade gerçekte ne işe yarar? Veri kümelerini düzenli bir şekilde sıralama ve arama işlemine yarar. Bu da bir çok veri karmaşıklığını ortadan kaldırır. Sadece bilgisayar mühendislerin işine yaramaz. Veri ile uğraşan herkesin (mühendisler, ofis çalışanları, depocular vb) işine yarar.
İkili ağaç sistemi oluşturma kuralları
1. Kural
En başdaki eleman “root” dur yani kökümüz dür. O her zaman en başa yazılır.
2. Kural
En başa yazılan elemana göre konumlandırmalar başlar. Bu konumlandırmalar en baştaki eleman sağına veya soluna konumlandırılır. Kökden sonraki eleman küçük ise sola, büyük ise sağa konumlandırılır.
3. Kural
Kökün altında en fazla 2 ağaç olabilir. Sonrakiler o diğer 2 ağaçtan birine konulabilir.
4. Kural
Eşit elemanlardan biri üst üstte gelir ise her zaman sağa konumlandırılır.
5. Kural
Dizme işlemi her zaman en baştaki elemandan başlar.
İkili ağaç sistemi oluşturma örneği
Şimdi Kuralları öğrendikten sonra aşağıdaki örneği yapabiliriz.
Aşağıdaki örneği ikili ağaç şeklinde oluşturacağız.
Örnek: “25, 14, 23, 40, 24, 23, 48, 7, 5, 34, 10, 7, 17, 36” değerlerine sahip düğümler için ikili ağaç gösterimini oluşturunuz ve üç farklı preorder, inorder ve postorder sıralama yöntemine göre yazınız.
Şimdi buradaki soruda ikili ağaç sistemi oluşturmamızı ve preorder,inorder ve postorder a göre sıralamamızı istiyor. Sıralamaları diğer konuda göreceğiz. Sıralamaları da ikili ağacı oluşturmak kadar önemlidir ancak öncelikle ikili ağaç sistemi nasıl oluşturulur onu görelim. Adım adım kurallara göre oluşturacağız. Kurallara göre oluşturduğumuzda aşağıdaki sonuç ortaya çıkar.
Buradaki dizilimler yukarıdaki kuralları dikkate alırsak en başa root olan 25 gelir. Çünkü kümenin ilk elemanıdır. Ondan sora gelen 14 roota göre sola konumlandırılmalıdır kökten küçük. 14 den sonra gelen 23 ise en baştan başlarsak yine 25 soluna konumlandırılmalı fakat orada 14 var 3 kurala göre sola eleman eklenemez sağa ise koyamayız çünkü 25 ten büyük değil o zaman artık 23 ün yeni kökü 14 yani 14 e göre konumlandıracağız. Burada 23, 14 den büyük olduğu için sağa konumlandırılmalı. 23 den sonra gelen 40 için 5 kuralı dikkat ederek yani her zaman en baştan başlayarak 25 göre sağa konumlandırılmalı. Sağda eleman yok oraya artık gelebilir. 40 tan sonra gelen 24 için ise 25 den başlayarak sola konumlandırılmalı orada 14 var. 14 göre baktığımızda sağa konumlandırılmalı burada da 23 var bu sefer 23 e göre konumlandırılmalı son olarak 23 sağına geçer. İşlemler bu mantıkla devam eder.
İkili ağaç sıralamalarına da göz atmak isterseniz Preorder, İnorder, Postorder Sıralamaları Nedir Nasıl Yapılır? linke tıklayarak bakabilirsiniz.
Eğer anlamadıysanız aşağıdaki videoyu izleyerek daha detaylı anlayabilir ve aklınızda ki soru işaretlerini giderebilirsiniz.
1 Response
[…] Bu yazımızda ikili arama ağaçları sıralamalarını göstereceğiz bu sıralamalar Preorder, İnorder ve Postorder dır. İkili arama ağaçların vazgeçilmezi olan sıralamaları düzene sokmak için ve ağaçlarda belirli kurala göre arama yapmak için bilmemiz şart. Bunlar daha çok Bilgisayar Mühendisliğin veri yapıları ve ayrık matematik konusunda işlenir ama veri ile uğraşan insanların bilmesi gerekir. Tabi sıralamalara geçmeden önce daha önceki yazımda ikili arama ağaçları oluşturmayı göstermiştim. Eğer ikili arama ağaçları oluşturmayı bilmiyorsanız kesinlikle öğrenmeniz lazım. Bu linkden ulaşabilirsiniz İkili arama ağaçları oluşturma […]