Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

AVL(Adel’son-Vel’skiĭ and Landis) Ağacı AVL ağacı, iki alt ağacının yükseklikleri farkının en fazla 1 olabildiği dengeli ikili arama ağacıdır. AVL ağacında.

Benzer bir sunumlar


... konulu sunumlar: "AVL(Adel’son-Vel’skiĭ and Landis) Ağacı AVL ağacı, iki alt ağacının yükseklikleri farkının en fazla 1 olabildiği dengeli ikili arama ağacıdır. AVL ağacında."— Sunum transkripti:

1 AVL(Adel’son-Vel’skiĭ and Landis) Ağacı AVL ağacı, iki alt ağacının yükseklikleri farkının en fazla 1 olabildiği dengeli ikili arama ağacıdır. AVL ağacında düğümün, iki alt ağacının yükseklikleri farkına “Balance Factor” (“Denge Faktörü”) denilmektedir.

2 Örnek: Elemanlar sıralı olarak eklenildiğinde oluşan dengesiz ikili arama ağacı ve AVL ağacı Dengesiz ikili arama ağacı AVL ağacı

3 Dengesiz, bağlı liste biçiminde ikili arama ağacında arama işlemi O(n) Dengeli ikili arama ağacında (AVL) arama işlemi O(log 2 n) Dengesiz ağaçta ve AVL ağacında arama işlemi

4 eleman bulunan bir ağaç düşünüldüğünde: -dengesiz (bağlı listeye benzeyen) bir ağaçta son elemanı bulmak adım sürer -AVL ağacında köke en uzak elemanı bulmak log 2 (100000) = 17 adım sürer

5 H L : Sol alt ağacın yüksekliği H R : Sağ alt ağacın yüksekliği denge faktörü = H L - H R AVL Denge Faktörü H L = 1 H R = 2 yukarıdaki ağacın denge faktörü = = -1

6 AVL Denge Faktörü AVL ağacında denge faktörü -1, 0 ve +1 olabilir: -sol taraf daha yüksekse denge faktörü = +1 -sağ taraf daha yüksekse denge faktörü = -1 -iki taraf eşit yükseklikteyse denge faktörü = 0 Eğer ekleme veya silme durumunda herhangi bir düğümün denge faktörü -2 veya +2 olursa dengeleme işlemi yapılır

7 Ağacın Dengelenmesi -Ekleme veya silme işlemi yapıldığında ağaç dengesiz hale gelirse tekrar dengeli hale getirilmelidir. -AVL ağacı bazı düğümlerin sağa veya sola döndürülmesiyle tekrar dengeli hale getirilebilir.

8 Dengesiz ağacı dengeleme işleminde dört durum vardır: -solun solu -sağın sağı -solun sağı -sağın solu Ağacın Dengelenmesi

9 Solun Solu Örnekteki ağaca “1” eklendiğinde oluşan durum

10 Sağın Sağı Örnekteki ağaca “19” eklendiğinde oluşan durum

11 Solun Sağı Örnekteki ağaca “7” eklendiğinde oluşan durum

12 Sağın Solu Örnekteki ağaca “10” eklendiğinde oluşan durum

13 Solun solu durumunda dengeleme sağa döndürme işlemi

14 Solun solu durumunda dengeleme sağa döndürme işlemi

15 Sağın sağı durumunda dengeleme sola döndürme işlemi

16 Sağın sağı durumunda dengeleme sola döndürme işlemi

17 Solun sağı durumunda dengeleme adım “3” alt ağacını sola döndür 2. adım (solun solu problemi) “5” alt ağacını sağa döndür

18 Solun sağı durumunda dengeleme adım “3” alt ağacını sola döndür 2. adım (solun solu problemi) “8” alt ağacını sağa döndür 1 2

19 Sağın solu durumunda dengeleme adım “5” alt ağacını sağa döndür 2. adım “3” alt ağacını sola döndür 12

20 Sağın solu durumunda dengeleme adım “15” alt ağacını sağa döndür 2. adım “8” alt ağacını sola döndür 1 2

21 AVL’nin koddaki tanımı AVL ağacı yapısının kod içinde tanımı ikili arama ağacı gibi olup, ek olarak denge faktörünü içerir. Dugum { int veri; Dugum * sag; Dugum * sol; int dengeFaktoru; }

22 AVL ağacında dolaşma ve arama -AVL ağacında dolaşma ve arama işlemleri, ikili arama ağacıyla aynıdır.

23 AVL ağacında ekleme -İkili arama ağacında olduğu gibi her ekleme işlemi yaprak düğüme yapılır. -Eklenecek yeri bulma, kökten başlanılarak ikili arama şeklinde yaprak düğüme kadar ilerlenerek yapılır. -Yaprak düğüme yeni düğüm eklenildikten sonra, ikili arama ağacından farklı olarak ağaçta geriye (köke) doğru ilerlenir.

24 AVL ağacında ekleme (devam) -Köke doğru ilerlenirken denge faktörleri güncellenir. -Herhangi bir düğümde dengenin bozulması (+2 veya -2 denge faktörü) durumunda dengeleme işlemi yapılır. -Dengeleme işleminden sonra köke doğru ilerlemeye devam edilir.


"AVL(Adel’son-Vel’skiĭ and Landis) Ağacı AVL ağacı, iki alt ağacının yükseklikleri farkının en fazla 1 olabildiği dengeli ikili arama ağacıdır. AVL ağacında." indir ppt

Benzer bir sunumlar


Google Reklamları