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ı 3 4 8 11 15 18 23 26 11 4 83 18 1523 26 Dengesiz ikili arama ağacı AVL ağacı

3 3 4 8 11 15 18 23 26 11 4 83 18 1523 26 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 100000 eleman bulunan bir ağaç düşünüldüğünde: -dengesiz (bağlı listeye benzeyen) bir ağaçta son elemanı bulmak 100000 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ü 8 3 41 15 1123 1825 H L = 1 H R = 2 yukarıdaki ağacın denge faktörü = 1 - 2 = -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 8 3 4 2 15 1 0 +1 +2 0 0 8 3 4 2 15 0 0 +1 0 0

10 Sağın Sağı Örnekteki ağaca “19” eklendiğinde oluşan durum 8 315 -2 0 1812 0 19 0 8 315 00 1812 0 0

11 Solun Sağı Örnekteki ağaca “7” eklendiğinde oluşan durum 8 3 42 15 0 +2 0 7 0 8 3 42 15 0 0 +1 0 0

12 Sağın Solu Örnekteki ağaca “10” eklendiğinde oluşan durum 8 315 -2 +1 0 1812 0 +1 0 10 8 315 -1 0 0 1812 0 0

13 Solun solu durumunda dengeleme 5 3 1 0 +1 +2 5 3 1 0 0 0 sağa döndürme işlemi

14 Solun solu durumunda dengeleme 8 3 4 2 15 1 0 +1 +2 0 0 8 3 4 2 15 1 0 +1 0 0 0 0 sağa döndürme işlemi

15 Sağın sağı durumunda dengeleme 15 -2 18 19 0 15 0 18 0 19 0 sola döndürme işlemi

16 Sağın sağı durumunda dengeleme 8 315 -2 0 1812 0 19 0 sola döndürme işlemi 8 3 15 0 0 18 12 0 19 0 0

17 Solun sağı durumunda dengeleme 5 3 4 0 +2 5 4 0 +1 +2 3 5 4 0 0 0 3 1. 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 8 3 42 15 0 +2 0 7 0 8 3 4 2 15 0 +1 +2 0 7 +1 0 8 3 4 2 15 0 +1 0 7 0 0 0 1. 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 3 5 4 0 +1 -2 3 4 5 0 -2 5 4 0 0 0 3 1. 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 8 315 -2 +1 0 1812 0 +1 0 10 8 3 15 -2 0 18 12 0 0 10 8 3 15 0 0 18 12 0 0 10 0 1. 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ı