Ikili Aga - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Ikili Aga

Description:

Title: binary search tree Last modified by: M Created Date: 9/13/2005 2:58:53 PM Document presentation format: On-screen Show Other titles: Arial Times New Roman ... – PowerPoint PPT presentation

Number of Views:120
Avg rating:3.0/5.0
Slides: 30
Provided by: bmErciye
Category:
Tags: aga | binary | ikili | search

less

Transcript and Presenter's Notes

Title: Ikili Aga


1
Ikili AgaçlarIkili Arama Agaçlari
2
Agaçlar
  • Baglantili listedeki erisim zamani lineerdir.
  • Çogu islemlerin (operasyon) (arama, ekleme,
    silme) çalisma zamanini daha aza indiren
  • (O(log N) gibi) baska bir veri yapisi var midir?

3
Agaçlar
  • Agaç dügümlerin koleksiyonudur.
  • Koleksiyon bos olabilir
  • Eger bos degilse, agaç birbirlerinden fakli r kök
    dügümünü ve sifir veya birden fazla bos olmayan
    T1, T2, ...., Tk altagaçlarini içerir, herbiri r
    den gelen bir yönlendirilmis kenar ile köke
    baglidir.

4
Bazi tanimlar
  • Çocuk ve ebeveyn
  • Kök hariç her dügümün bir ebeveyni vardir.
  • Bir dügümün çocuk sayisi degisebilir.
  • Yapraklar
  • Çocugu olmayan dügümlere denir.
  • Kardes
  • Ebeveyni ayni olan dügümlerdir.

5
Bazi Tanimlar
  • Patika yol - Path
  • Uzunluk - Length
  • Bir yoldaki kenar sayisi
  • Bir dügümün derinligi
  • Kökten dügüme olan tekil yolun uzunlugu
  • Bir agacin derinligi en derinde bulunan yapragin
    derinligine esittir.
  • Bir dügümün yüksekligi
  • Dügümden bir yapraga olan en uzun yola denir.
  • Bütün yapraklar yükseklik 0 da bulunur
  • Bir agacin yüksekligi kökün yüksekligine egittir.
  • Ata (veya dede) ve torun

6
Örnek UNIX dizini
7
Ikili Agaçlar
  • Bu agaçta hiçbir dügümün ikiden fazla çocugu
    olamaz
  • Ortalama bir ikili agacin derinligi N den
    küçüktür, en kötü durumda bile derinlik N-1
    olabilir.

8
Örnekifade agaçlari
  • Yapraklar terim (sabit veya degisken)
  • Diger dügümler islem
  • Bazi islemler binary degilse ikili agaçta
    gösterilemeyebilir.

9
Agaç Gezme (Tree Traversal)
  • Bir agaçtaki verileri belli bir düzende yazmak
    için kullanilir.
  • Önce-kök Gezme (Pre-order traversal)
  • Kökteki veriyi yaz
  • Sol altagaçtaki verileri iteratif olarak yaz
  • Sag altagaçtaki verileri iteratif olarak yaz

10
Öncekök, sonrakök, ve içkökPreorder, Postorder
and Inorder
  • Öncekök gezme
  • dügüm, sol, sag
  • önek ifadesi
  • abcdefg

11
Öncekök, sonrakök, ve içkök
  • Sonrakök gezme
  • Sol, sag, dügüm
  • Sonek ifadesi
  • abcdefg
  • Içkök yazma
  • Sol, dügüm, sag
  • Içek ifadesi
  • abcdefg

12
  • Öncekök

13
  • sonrakök

14
Öncekök, sonrakök, ve içkök
15
Ikili Agaçlar
  • Ikili agaç SVY üzerindeki muhtemel islemler
  • parent - ebeveyn
  • left_child, right_child - sol_çocuk, sag_çocuk
  • Sibling - kardes
  • root, etc - kök
  • Gerçeklestirmesi
  • Ikili agaçta en fazla iki çocuk oldugu için,
    bunlar için pointer kullanabiliriz.

16
Karsilastirma Genel bir agaç gerçeklestirilmesi
17
Ikili Arama Agaci
  • Anahtarlari dügümler içinde depolar böylece
    arama, ekleme ve silme etkili bir sekilde
    yapilabilir.
  • Ikili arama agaç özelligi
  • Herbir X dügümü için, solundaki altagaçtaki
    (subtree) anahtarlar X dügümünde bulunan degerden
    daha küçüktür, ve sagindaki agaçtaki anahtarlar X
    dügümünde bulunan degerden daha büyüktür.

18
Ikili Arama Agaçlari

Bir ikili arama agaci
Ikili arama agaci degil
19
Ikili Arama Agaçlari
Ayni elemanlari gösteren iki ikili arama agaci
  • Bir dügümün ortalama derinligi O(log N) maksimum
    derinligi ise O(N)

20
Gerçeklestirme
21
IAA Arama
  • Eger 15i ariyorsak arama islemi biter.
  • Eger aranan anahtar lt 15 ise, sol altagaçta
    aramaya devam edilir.
  • Eger aranan anahtar gt 15 ise, sag altagaçta
    aramaya devam edilir.

22
(No Transcript)
23
Arama (Bul - Find)
  • Find X X anahtarini bulunduran dügümün pointer
    ini dönder veya eger böyle bir dügüm yok ise NULL
    dönder.
  • Zaman Karmasikligi
  • O(agaç yüksekligi)

24
IAAinda içkök gezme
  • Bütün anahtarlari siralanmis bir sekilde getirir.

içkök 2, 3, 4, 6, 7, 9, 13, 15, 17, 18, 20
25
findMin/ findMax
  • Agaçtaki en küçük elemani içeren dügümü dönderir.
  • Kökten basla ve sol çocuk var oldugu sürece sola
    git. Durma noktasindaki eleman en küçük
    elemandir.
  • findMax için de mantik benzer sekildedir.
  • Zaman karmasikligi O(agaç yüksekligi)

26
Ekle - insert
  • Agaçta ilgili yere find komutunda oldugu gibi git
  • Eger X varsa, bir sey yapma (veya bir sey
    güncelle)
  • Diger durumda, X i gezilen yoldaki en son noktaya
    ekle.
  • Zaman Karmasikligi O(agaç yüksekligi)

27
Sil - delete
  • Bir dügüm silindigi zaman, silinen dügümün
    çocuklarina nasil yerlestirecegimizi düsünmemis
    gerekir.
  • Bu islem arama agaci (search tree) özelliginin
    korunmasi için gereklidir.

28
sil
  • Üç durum vardir
  • (1) dügüm yaprak ise
  • sil
  • (2) dügümün tek çocugu varsa
  • Ebeveynden bir çocuga bir pointer ata

29
sil
  • (3) dügümün 2 çocugu varsa
  • Silinen dügüm anahtarini sag altagaçtaki minimum
    elemanla yer degistir (replace the key of that
    node with the minimum element at the right
    subtree )
  • Minimum elemani sil
  • Daha sonra ya hiç çocuk kalmamistir yada bir
    çocuk vardir. Bu durumda durum 1 ve 2 uygulanir..
  • Zaman karmasikligi O(agaç yüksekligi)
Write a Comment
User Comments (0)
About PowerShow.com