Preorder, İnorder, Postorder Sıralamaları Nedir Nasıl Yapılır?
Preorder, İnorder, Postorder sıralamaları nasıl yapılır? Ayrık matematik Preorder, İnorder, Postorder sıralamaları öğren, Veri yapıları Preorder, İnorder, Postorder sıralamaları öğren.
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
Preorder, İnorder, Postorder ne işe yarar?
Bu sıralamalar oluşturulan ikili arama ağaçlarını belirli bir düzene sokarak üzerinde işlem yapmamıza ve aranan veriyi rahat bulmamızı sağlar. Yani kısaca özetlemek gerekirse ağaç üzerinde gezinmemizi sağlar
Aşağıdaki soruyu üç şekilde sıralayalım
Ö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.
Sorunun İkili arama ağacı oluşumu
Preorder sıralaması nasıl yapılır?
Preorder sıralaması yaparken şu kural esas alınır KÖK SOL SAĞ. İlk kök yazılır sonra varsa solu yazılır solda da varsa tekrar sol yazılır yoksa sağ yazılır. Yukarıdaki soruyu buna göre çözersek aşağıdaki sonuç ortaya çıkar.
Preorder: 25-14-7-5-10-7-23-17-24-23-40-34-36-48
Şimdi bunu nasıl yaptık adım adım inceleyelim.
Kök ile başladık yani 25. Kökten sonra sol işlem bu da 14. 14 ün kendiside alttakilerin kökü olduğu için aynı şekilde onunda solu 7 yi yazdık. Aynı şekilde 5 te yazıldı. 5 ten sonra bir şey yok sağ yazıldı 10 ve 10 dan sonra gelen 7. 14 e kök demiştik sol tarafı bitti şimdi sağ tarafındayız. Sağında 23 ile başladık onun solunda 17 sağında 24 ve 23 sırasıyla yazdık. Artık en üstteki 25 in kökün sol tarafı bitti şimdi sağ tarafında. 40 ile başladık onun solu 34 oda bir kök solu yazmamız lazım solda bir şey yok sağı 36 yı yazdık. 40 solu bitti şimdi sağı kaldı o da 40. Böylece preorder sıralaması bitti.
İnorder sıralaması nasıl yapılır?
İnorder sıralaması yaparken şu kural esas alınır SOL KÖK SAĞ. İlk sol yazılır sonra kök yazılır en son sağa geçilir. Yukarıdaki soruyu buna göre çözersek aşağıdaki sonuç ortaya çıkar.
Inorder: 5-7-7-10-14-17-23-23-24-25-34-36-40-48
Şimdi bunu nasıl yaptık adım adım inceleyelim.
Ağacın en sol alttan başlıyoruz yani 5 ile onun kökü 7 yi yazıyoruz ve sağa geçiyoruz. Sağda da 10 kök olduğu için onun da solu 7 yi yazıyoruz ve sonra kök olan 10 yazıyoruz. 14 de kök olduğu için onun solu bitti ve kendisini yazıyoruz ardından sağ tarafa geçiyoruz. 14 sağ ağacı en alt sol 17 onun kök 23 yazıyoruz. Onun en sol altında 23 var ve kökü olan 24 ü yazıyoruz. Böylece 25 in sol tarafı tamamen bitti ve kendisini yazıyoruz. 25 in sağ tarafı en sol 34. 34 den sonra solda bir şey yok sağ 36 yı yazarız. Sonra kök olan 40 ı en sonra 48 yazarız. İnorder sıralaması bitmiş olur.
Postorder sıralaması nasıl yapılır?
Postorder sıralaması yaparken şu kural esas alınır SOL SAĞ KÖK. İlk sol yazılır sonra sağ yazılır en son kök yazılır. Yukarıdaki soruyu buna göre çözersek aşağıdaki sonuç ortaya çıkar.
Postorder: 5-7-10-7-17-23-24-23-14-36-34-48-40-25
Şimdi bunu nasıl yaptık adım adım inceleyelim.
Yine en soldan başlıyoruz 5. 5 in sağında 10 var ama onun da solu 7 yi yazıyoruz ve sonra sağında bir şey yok kökü yazıyoruz 10. Artık 5 ve 10 un kökü olan 7 yazıyoruz. Sonra kök olan 14 ün sağına geçiyoruz 14 yazmadan. 14 ün en solu 17 sağı 24 onu yazmadan 24 ün solu 23 ve sonra 24 yazıyoruz sonraki adım kök olan 23 yazıyoruz ve sol sağ bitti 14 yazıyoruz. Bundan sonraki işlem 25 kök onun solunu yazdık ve sıra sağı yazmada. Onunda solunda bir şey yok sağı yazıyoruz o da 36 dır. 36 nın kökü 34 onu yazdık sağa geçtik 48 onun kökü 40 ve en son 25 i yazdık. Böylece Postorder sıralaması da bitmiş bulunmaktadır.
İşin özü şu aslında sıralama yaparken bütün verileri kendi içlerinde alt kümelere ayırarak sıralamayı gerçekleştiriyoruz.
Eğer sıralamalarda hala sıkıntı çekiyorsanız ve anlamadıysanız, aklınızda soru işareti kalmamak adına aşağıdaki videoyu izleyebilirsiniz.