IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet odaları

Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 25 Şubat 2012, 19:59   #1
Çevrimdışı
aSi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
İkili Ağacı Listeleme (Rekürsif fonksiyon ile)





Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


İkili ağaç üzerinde dolaşma birçok şekilde yapılabilir.Ancak Rekürsif fonksiyon yapısı kullanılırsa ağaç üzerinde dolaşma algoritmasının tasarımı daha kolaydır .
İkili ağaçlarda dolaşmak için temeli rekürsif fonksiyonlardan oluşan yöntemleri anlatacağım bu yazımda size. Mantığını anlamak rekürsif fonksiyonların mantığını anlaya bağlı. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adındaki yazıya göz atmanızı öneririm.Bir fonksiyon kendi içerisinde tekrardan kendine çağırılıyorsa bu tür fonksiyonlara rekürsif fonksiyonlar diyoruz. Ama rekürsif fonksiyonlarda çok önemli, ince bir ayrıntı bulunmaktadır. Fonksiyonlar yeniden çağrıldığında eğer fonksiyonda printf kısmı varsa işlenmeyecek, bu kısım önce yığına atılacak daha sonra fonksiyon bittiğinde yığından tekrar geri çekilecektir . İşte İkili Ağaç Üzerinde Dolaşma’nın temel mantığı da buna dayanmaktadır. Preorder, İnorder, Postorder olarak adlandırılan üç değişik dolaşma şekli vardır. Bunların birbirlerinden tek farkları printf’in yığına atılma yerlerinden kaynaklanmaktır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
void preorder_listeleme(struct tree *kok) { if(kok) { printf("%d ",kok->deger); preorder_listeleme(kok->sol); preorder_listeleme(kok->sag); } }

İnorder : Sol, Kök, Sağ şeklinde ağacı dolaşır.. Yukarıdaki ağaça göre İnorder listeleme yapıldığında ekrana 10 20 30 35 40 45 50 60 75 çıkacaktır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
void inorder_listeleme(struct tree *kok) { if(kok) { inorder_listeleme(kok->sol); printf("%d ",kok->deger); inorder_listeleme(kok->sag); } }


Postorder : Sol, Sağ, Kök şeklinde ağacı dolaşır.. Yukarıdaki ağaça göre İnorder listeleme yapıldığında ekrana 10 20 35 45 40 75 60 50 30 çıkacaktır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
void postorder_listeleme(struct tree * kok) { if(kok) { postorder_listeleme(kok->sol); postorder_listeleme(kok->sag); printf("%d ",kok->deger); } }


__________________
Doğruları biliyorsan, yalanları dinlemek eğlencelidir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver
Cevapla

Etiketler
ağacı, fonksiyon, ikili, ile, listeleme, rekürsif, İkili


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Çözüldü Stats o Listeleme ExcLuSive mIRC Scripting Sorunları 0 17 Aralık 2020 01:02
Komut Listeleme Tcl saywhat TCL Scriptler 0 22 Eylül 2014 01:09
Opları listeleme sito mIRC Scripting Sorunları 10 22 Eylül 2013 18:10
Özyinelemeli (Rekürsif) fonksiyonlar aSi C ve C++ 0 25 Şubat 2012 19:57
kullanici listeleme aias mIRC Scripting Sorunları 2 11 Mart 2006 19:01