11 Aralık 2009 Cuma

Java'da Bir Ağaçtaki Düğümlerin Düzeylerini Yazdırma

Displaying level of each node in binary tree in java

Javada oluşturduğunuz bir binary tree'nin her düğümünün düzeyini ekrana yazdırmak için aşağıdaki algoritmayı yada java kodunu kullanabilirsiniz.

Kod:

public void duzey_bul(agacDugumu etkin,int duzey)
{
if(etkin!=null)
{
duzey=duzey+1;

duzey_bul(etkin.leftChild,duzey);
System.out.println(" "+etkin.ad+" "+duzey+". duzeyde" );
duzey_bul(etkin.rightChild,duzey);
}

}


Algoritma:

Fonksiyonumuzda özyinelemeden yararlanacağız. Etkin düğüm sırasıyla bir düğümün sol çocuğu ve sağ çocuğu olarak ağaç dolaşılır. Eğer etkin düğüm null'dan farklıysa düzey bir arttırılır ve ekrana yazdırılır.

Eğer ağacın derinliğini de bulmak istiyoranız düzeylerden en büyüğünü math kütüphanesindeki max bulan hazır fonksiyon ile döndürerek ağacın düzeyini elde edebilirsiniz. Ayrıca her null olmayan etkin yeni bir eleman olacağından eleman sayısı da bir arttırılarak ağacın toplam eleman sayısı bulunabilir.

Hiç yorum yok:

Yorum Gönder