C# Ağaç Yapısı (Tree)

Phoenix

 


                           C# Ağaç Yapısı (Tree)


1Bağlı listeler, yığıtlar (stack) ve kuyruklar (queue) doğrusal veri yapılarıdır. Ağaçlar ise doğrusal olmayan iki boyutlu veri yapılarıdır. Ağaçlardaki düğümlerden 2 veya daha fazla dal çıkabilir. Ağacın en üstteki düğümüne kök (root) adı verilir. Ağacın her elemanına düğüm adı verilir. Bir düğümün sol ve sağ dallarıyla bağlandığı düğümlere çocuk (child) düğüm denir. Sağ ve sol dalların bağlandığı düğüme de parent denir.

Aşağıdaki ağacın kök düğümü A’dır. Toplam 9 düğümü vardır. A’dan 2 dal çıkmaktadır. Sol alt ağaç B köküyle , sağ alt ağaçta C köküyle başlar. B ve C düğümleri A düğümünün çocuklarıdır. A düğümü B ve C düğümlerinin parent’ıdır.

Ağaçlar üzerinde dolaşma 3 şekilde olur: PreOrder, InOrder ve PostOrder.

Preorder (depth-first order) Dolaşma: Köke uğra (visit) Sol alt ağacı preorder olarak dolaş. Sağ alt ağacı preorder olarak dolaş.

Inorder (Symmetric order) Dolaşma: Sol alt ağacı inorder’a göre dolaş Köke uğra (visit) Sağ alt ağacı inorder’a göre dolaş.

Postorder Dolaşma: Sol alt ağacı postorder’a göre dolaş Sağ alt ağacı postorder’a göre dolaş. Köke uğra (visit)

2

Şimdi bir uygulama yapalım. 10 tane sayı üretilsin. InOrder, PreOrder ve PostOrder olarak dolaşılsın.

3

Tree ve TreeNode sınıflarını oluşturuyoruz.

456

Button click olayını yazalım.

7

Yorum Gönder

0Yorumlar
Yorum Gönder (0)