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.

Slides:



Advertisements
Benzer bir sunumlar
Yığınlama Sıralaması (Heap Sort)
Advertisements

Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Karmaşıklık Giriş.
Karmaşıklık Giriş.
SINIFLANDIRMA VE REGRESYON AĞAÇLARI (CART)
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
BTEP 203 – İnternet ProgramcIlIğI - I
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Kurallar Eğitimin Edification ı ÇOOOOOOOOKKKKK ÖNEEEEEMLİİİİİİİİİ. Alttaki yazı eğitimin sahibinin cümleleri sizde bu şekilde kendi cümllelerinizle ve.
AVL-Ağaçları (Trees).
B+-Ağaçları.
Silme Anahtar hedefi silmek için, x yaprağında buluruz ve sonra sileriz. Dikkat edilmesi gereken iki durum vardır. (1) Hedef bazı iç düğümlerde bir anahtar.
Silme Sil 12 Tek dönüş.
İkili Ağaçlar İkili Arama Ağaçları
Algoritmalar DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar
Tam İkili Ağaçlar 9. Ünite ağaçlardan bahseder.
Ellerinizi alnınıza yerleştirin. Başınızı öne doğru iterken ellerinizle başınıza engel olun. 5’e kadar sayın ve gevşeyin.
İkili Arama Ağaçları (Binary Search Trees) BST
Özyineli Sıralama Algoritmaları
En Küçük Yol Ağacı (Minimum Spanning Tree)
Binary Ağaçlar (Ekleme/Silme Örnekleri)
Algoritmalar DERS 4 Çabuk sıralama Böl ve fethet Bölüntüler
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
Veri Yapıları ve Algoritmalar
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : LİSTELERE.
DENKLEM.
EXCEL DE VERİ TABANI (DATABASE) İŞLEMLERİ
YAZ OKULU Matematik 1 Ünite : 1 (Bölüm 2).
P p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir.
BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ
PROLOG PROGRAMLAMA DİLİNDE
Arama ile sorun çözme Ders 3.
HIZLI SIRALAMA ALGORİTMALARI(QUICK SORT)
İlköğretim matematik öğretmenliği 2. grup
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
? ? TAM SAYILAR NEDİR? ? ? ? İbrahim Erdem
Ders İçeriği Liste Soyut veri yapısı (ADT)
Veri Yapıları ve Algoritmaları ders_1
BAZI VERİ YAPILARI Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini.
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
KARTEZYEN ÇARPIM Sıralı İkili İki Kümenin Kartezyen Çarpımı
Öğretmenin; Adı Soyadı :
KÜMELER KAZANIM:Bu konu 6. sınıf konusu olup bir kümeyi modelleri ile belirler, farklı temsil biçimleri ile gösterir.
Çok Seviyeli Dizinleme ve B+ Trees
MATEMATİK EŞİTSİZLİKLER.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Veri yapıları Hafta3 Dizi Yapıları.
KUYRUK (QUEUE).
DİKME ÇIKMA,İNME VE PARALEL İNŞA ETME
Chapter 7 Space and Time Tradeoffs Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
METİNLERİ Matrislerle ŞİFRELEME
Yeşilköy Anadolu Lisesi. TANıM (KONUYA GIRIŞ) a, b, c gerçel sayı ve a ¹ 0 olmak üzere, ax 2 + bx + c = 0 biçimindeki her açık önermeye ikinci dereceden.
ProSuccess – Mega Holdings. 150 Kişilik Liste! proSuccess – Mega Holdings.
Dinamik programlama ve Açgözlü algoritma
HTML Liste Oluşturma. Liste Etiketleri HTML sayfalarında liste oluşturmak için ve etiketlerini kullanırız. Numaralı listeler oluşturmak için: Madde imli.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
Algoritmalar II Ders 8 Açgözlü Algoritmalar.
Algoritmalar II Ders 1: Alan zaman takası yöntemi.
MESNETLER 5.1. Mesnetler ve Düğüm Noktaları
İleri Algoritma Analizi
İleri Algoritma Analizi
B+-Ağaçları.
Chapter 6 Dönüştür ve Yönet (Transform-and-Conquer)
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
İleri Algoritma Analizi
MESNETLER 5.1. Mesnetler ve Düğüm Noktaları
Chapter 6 Transform-and-Conquer
Sunum transkripti:

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.

Ö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ı

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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; }

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.

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.

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.