Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
AVL-fa építése
2
Az AVL-fa (Adelszon-Velszkij és Landisz, 1962):
Az AVL-fa definíciója: t kiegyensúlyozott (AVL-tulajdonságú) <=> t minden x csúcsára: | h(bal(x)) – h(jobb(x)) | ≤ 1 - a majdnem teljes bináris fa AVL-tulajdonságú - minden művelet (beszúrás és törlés) után ellenőrizzük, és ha kell, helyreállítjuk az AVL-tulajdonságot - az AVL-fa maximális magassága 1,44log2n
3
Milyen ráfordítással tartható fenn az AVL-tulajdonság:
1) A (++,+) szabály: x y a b c ++ + h h+1 - egy újabb elemet behelyezünk a fába, amely nagyobb a gyökérnél (x) és a gyökér jobb gyerekénél is, elromlik az AVL-tulajdonság - az x bal részfájának a magassága h míg a jobb részfájának magassága h+2
4
=> Forgatás segítségével helyreállítható az AVL-tulajdonság
x y a h b c h+1 ++ + => - az y kerül a gyökérbe, az y bal részfáját átállítjuk az x jobb részfájának - az x lesz az y bal oldali gyereke - az y jobb és baloldali részfájának magassága h+1 lesz - ennek a tükörképe a (--,-) szabály
5
2) A (++,-) szabály: x y a b c ++ - h z d h h h h-1 h-1 h - egy újabb elemet behelyezünk a fába, amely nagyobb a gyökérnél (x) és kisebb a gyökér jobb gyerekénél, elromlik az AVL-tulajdonság - az x bal részfájának a magassága h míg a jobb részfájának magassága h+2
6
=> Forgatás segítségével helyreállítható az AVL-tulajdonság
x y a b c ++ - z d h h h h-1 h-1 h h h h h-1 h-1 h => - a gyökérbe a z elem kerül, bal gyereke az x, jobb gyereke az y lesz - a z bal részfája az x jobb részfája lesz - a z jobb részfája az y bal részfája lesz
7
Elromlott az AVL tulajdonság!
Pl.: Építsünk AVL-fát a következő adatokból: 100 170 74 81 136 185 150 122 52 190 144 100 170 74 185 52 136 81 122 150 190 144 Elromlott az AVL tulajdonság!
8
Meghatározzuk hol romlott el az AVL-tulajdonság:
100 74 170 52 81 136 185 122 150 190 144 ++ - + Megcímkézzük a csúcsokat! A (++,-) szabályt alkalmazzuk!
9
A (++,-) szabállyal helyreállítjuk az AVL-tulajdonságot
100 74 170 52 81 136 185 122 150 190 144 - a 136-os elem kerül a gyökérbe! - a 136-os bal gyereke lesz a 100-as elem
10
A (++,-) szabállyal helyreállítjuk az AVL-tulajdonságot
136 170 52 81 185 122 150 190 144 100 74 - a 122-es elem a 100-as jobb gyereke lesz - a 150-es pedig a 170-es bal gyereke
11
A (++,-) szabállyal helyreállítottuk az AVL-tulajdonságot
136 100 170 52 81 74 185 150 190 144 122
12
Készítette: Bozó István
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.