|
TREES
Baglantili Listeler, Stackler, Queuelar birer cizgisel data yapilaridir. Ama trees ise cizgisel olmayan data yapidir.
Tree nodlar iki veya daha fazla baglantilardan olusmaktadir.
Bu bolum iki baglantili nodlari olan binary trees tanitacaktir.Root(kok) nod treede ki ilk noddur.Kokde ki her bir link bir cocugu tanimlar.Sol cocuk sol alt treede ki ilk noddur ve sag cocuk ise sag alt treede ki ilk noddur.
Bir nodun cocuklari siblings olarak bilinir.Cocugu olmayan bir nod yaprak noddur.Bilgisayar uzmanlari kokten baslaman sarti ile assagi dogru tam agacin tersine treesleri cizerler.
Bu olayi bir cizelge ile gosterecek olur isek:
seklinde olur.
Bir binary arama agac cizelgesi ise su sekildedir.
Assagida ki program bir binary arama agaci olusturur ve onu uc ayri yola(inorder, preorder, ve postorder) ayirir.
Bir binary arama agacina bir nod eklemede takip edilmesi gereken adimlar su sekildedir.
- Eger *Agac NULL ise, bir nod yarat.Daha sonra malloc cagir.Saklanmis hafizayi *Agac pointerina isaretle.Daha sonra (*Agac)->data tam sayi olarak saklanmasini belirt.Bunlari yaptiktan sonra
(*Agac)->Sol ve (*Agac)->Sag i NULL degerine kur.En son olarak cagiriciya geri dondur.
- Eger *Agac in degeri NULL degil ise, fonsiyon Ekle (*Agac)->Sol un adresi ile birlikte cagrilir.
Degilse, Ekle (*Agac)->Sag in adresi ile birlikte cagrilir.Tekrarlama islemi ise NULL pointer bulunana kadar devam eder.Bu stepler tamamlandiktan sonra yeni bir nod eklenmis olunur.
PROGRAMI GORMEK ICIN TIKLAYIN
|
|
|