Az első kiegyensúlyozott fa algoritmus. Kitalálói: Adelson-Velskii és Landis (1962)

Hasonló dokumentumok
Gyakorló feladatok ZH-ra

10.3. A MÁSODFOKÚ EGYENLET

16. Az AVL-fa. (Adelszon-Velszkij és Landisz, 1962) Definíció: t kiegyensúlyozott (AVL-tulajdonságú) t minden x csúcsára: Pl.:

Bináris keres fák kiegyensúlyozásai. Egyed Boglárka

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 7.

REKURZIÓ. Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát.

Jobbra és balraforgatás

Rendezettminta-fa [2] [2]

tól érvényes, a listában nettó EUR árak szerepelnek

Líneáris függvények. Definíció: Az f(x) = mx + b alakú függvényeket, ahol m 0, m, b R elsfokú függvényeknek nevezzük.

Síklefedések Erdősné Németh Ágnes, Nagykanizsa

Algoritmusok és adatszerkezetek gyakorlat 07

Egy probléma, többféle kifutással

Statisztika I. 6. előadás. Előadó: Dr. Ertsey Imre

2015, Diszkrét matematika

Minta 1. MATEMATIKA KÖZÉPSZINTŰ ÍRÁSBELI FELADATSOR. I. rész

KockaKobak Országos Matematikaverseny 8. osztály

Elméleti közgazdaságtan I.

PÉNZÜGYI SZÁMÍTÁSOK. I. Kamatos kamat számítása

Algoritmuselmélet ZH április 8.

Algoritmusok és adatszerkezetek II.

Az új szja törvénnyel kapcsolatos béralkalmazkodási lépések a kisés közepes vállalkozások körében

Matematikai programozás gyakorlatok

3. gyakorlat Dinamikus programozás

Debreceni Egyetem, Közgazdaság- és Gazdaságtudományi Kar. Feladatok a Gazdasági matematika I. tárgy gyakorlataihoz. Halmazelmélet

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2015/ Szegedi Tudományegyetem Informatikai Tanszékcsoport

Algoritmuselmélet. Király Zoltán ELTE Matematikai Intézet február 18. Legfrissebb, on-line verzió:

A friss beton konzisztenciájának mérése a terülési mérték meghatározásával

Az éves statisztikai összegezés 1

A rendelet célja. A R az alábbi 1. -al egészül ki:

KOSÁRLABDA PALÁNK. Termék száma: 1157

Bevezetés a programozásba. 12. Előadás: 8 királynő

Algoritmusok és adatszerkezetek II.

közti kapcsolatok, Ellenőrzés, Játék 21. modul

Magyarország éghajlatának alakulása január-július időszakban

Numerikus módszerek 5. Közönséges differenciálegyenletek numerikus megoldása

: S.C. Johnson Kft Hungary Budapest Apor Vilmos ter 6

A Mezőberényi Petőfi Sándor Evangélikus Gimnázium kompetenciaméréseken elért eredményei

Közgazdaságtan - 3. elıadás

Oldal: 1 of 8 BIZTONSÁGI ADATLAP Felülvizsgálat dátuma: Nyomtatás Dátuma:

Iskolai veszélyeztetettség és pályaszocializáció*

ÍRÁSBELI ÖSSZEADÁS, KIVONÁS. A MŰVELETI SORREND SZÁMÍTÁSOKBAN ÉS SZÖVEGES FELADATOK MEGOLDÁSA SORÁN. 9. modul

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Áramütés elleni védelem 1. elıadás

Az Európai Unió támogatási alapjai

: S.C. Johnson Kft Hungary Budapest Apor Vilmos tér 6

Héhalom Önkormányzat évi bevételeinek és kiadásainak összesített bemutatása

A zöld fogyasztás nem megoldás az éghajlatváltozásra

Digitális technika VIMIAA01

Árnyékok és kísértetek a vidéki szociális ellátórendszerben 1

Többváltozós függvények Riemann integrálja

I. rész 1. Egy gyümölcsjoghurt árát egy akció során 20%-kal csökkentették, így 100 Ft-ért adták. Mi volt a joghurt eredeti ára?

Kiwi Cipőkrém fekete Verzió 1.0 Készítés dátuma Felülvizsgálat dátuma: - Specifikáció Szám:

Gyõrffy Magdolna. Tanmenetjavaslat. A matematika csodái 4. osztályos tankönyvcsaládhoz A KERETTANTERV SZERINT ÁTDOLGOZVA!

Zalaegerszegi Intézet 8900 Zalaegerszeg, Gasparich u. 18/a, Pf. 67. Telefonközpont: (06-92) Fax: (06-92)

EMELT SZINTŰ ÍRÁSBELI VIZSGA

Üvegkerámia főzőfelület ZVM 64X. Szerelési- és használati útmutató.

: FROSCH ALOE VERA DISH 750ML SO1

Sorozatok begyakorló feladatok

1. Bevezetés. A számítógéptudomány ezt a problémát a feladat elvégzéséhez szükséges erőforrások (idő, tár, program,... ) mennyiségével méri.

Bricks & Bits Kft., 1146 Budapest, Szabó József u. 6., Récsei Center III. em. Tel : , Fax : ,

Kamerás megfigyelés mobil internet hálózaton - TP-Link TLMR3420 router és Telenor ZTE MF110 USB modem beállítása

Rendezettség. Rendezettség. Tartalom. Megjegyzés

TERMÉK FEJLESZTÉS PANDUR BÉLA TERMÉK TERVEZÉSE

Duck Fresh Discs zselés WC-öblítő korong Active Citrus Verzió 1.0 Készítés dátuma Felülvizsgálat dátuma: Specifikáció Szám:

Programozási módszertan. Dinamikus programozás: Nyomtatási feladat A leghosszabb közös részsorozat

Normál (vékony) induktív közelítéskapcsoló TL-T

int azt az elõzõ részbõl megtudtuk, a rétegeknek az a feladatuk, hogy valamiféle feladatot végezzenek

g tömegű vízben mennyi 2 kristályvizes vas(ii)-szulfát oldható fel 50 o C-on? Mekkora tömegű kristályos sót

32X AUTOMATIC LEVEL SL SI BUL /241 AL32 FATMAX A A

Mr Muscle Lefolyótisztító

Ipari munkahelyek ergonómiai értékelésének módszerei. Ismétlődő mozdulatok értékelése. Az erőkifejtés mértéke!!!

7 7, ,22 13,22 13, ,28

AZ EURÓPAI UNIÓ TANÁCSA. Brüsszel, december 11. (OR. en) 16843/09 AGRI 537

Első sorozat (2000. május 22. du.) 1. Oldjamegavalós számok halmazán a. cos x + sin2 x cos x. +sinx +sin2x =

Dr. Jelasity Márk. Mesterséges Intelligencia I. Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin

Elsôfokú egyenletek, egyenletrendszerek, egyenlôtlenségek

LOGO grafikák: - Bevezetés - Válogatás a szakkörösök legszebb munkáiból


Statisztika I. 13. előadás Idősorok elemzése. Előadó: Dr. Ertsey Imre


A MAXIMUM-KUPACOL eljárás helyreállítja az A[i] elemre a kupactulajdonságot. Az elemet süllyeszti cserékkel mindaddig, amíg a tulajdonság sérül.

8. Mohó algoritmusok Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

KASZKÁD RENDSZERŰ MODELLREAKTOR SZERVES, PREPARATÍV SZINTÉZISEKHEZ

III. FEJEZET FÜGGVÉNYEK ÉS TULAJDONSÁGAIK

EURÓPAI UNIÓ AZ EURÓPAI PARLAMENT

1.4 Sürgősségi telefonszám : Egészségügyi Toxikológiai Tájékoztató Szolgálat telefonszáma: (ingyenes, éjjel-nappal hívható)

61/2002. (XII. 29.) GKM rendelet

0653. MODUL TÖRTEK. Szorzás törttel, osztás törttel KÉSZÍTETTE: BENCZÉDY LACZKA KRISZTINA, MALMOS KATALIN

TANMENET javaslat. a szorobánnal számoló. osztály számára. Vajdáné Bárdi Magdolna tanítónő

S Z A K D O L GO Z AT

területi Budapesti Mozaik 13. Idősödő főváros

Számtani- és mértani sorozatos feladatok (középszint)

Pályázati űrlap kitöltési útmutató az EGT és Norvég Finanszírozási Mechanizmusok pályázati kiírásaihoz

Kaucsukok és hőre lágyuló műanyagok reológiai vizsgálata

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)

Puskás Béla: Hálózatelméleti alapok

Nagymotoros Funkciók Vizsgálata (GMFM-88 és GMFM-66) GMFM mérősor bevezetése az iskolán

: Duck Power 4IN1 Limescale Destroyer Vízkőoldó WC-tisztító

Átírás:

6. előadás

AVL fák Az első kiegensúlozott fa algoritmus Kitalálói: Adelson-Velskii és Landis (196) Tulajdonságok Bináris rendezőfa A bal és jobb részfák magassága legfeljebb 1-gel különbözik A részfák is AVL fák AVL fa AVL fa

AVL fák Jelölje m(f) az f bináris fa magasságát (szintjeinek számát), a az f fa eg csúcsa: ekkor m() jelöli az -gökerű részfa magasságát. Definíció (AVL-tulajdonság): Eg bináris keresőfa AVL-fa, a minden csúcsára teljesül, og m(bal[]) m(jobb[]) 1

AVL fák Mekkora a k - szintű AVL-fa minimális csúcsszáma? S 0 = 1 S 1 = S = 4 S 3 = 7

AVL fák Mekkora a k - szintű AVL-fa minimális csúcsszáma? S 4 =1

AVL fák Összefüggés az AVL-fa pontszáma és magassága között: n adattal felépítető fa minimális magassága? majdnem teljes bináris fa n adattal felépítető fa maimális magassága? uganez a kérdés: az adott szintszámú AVL-fák közül menni a minimális pontszám? A szintszámú minimális csúcsszámú AVL-fa gökerének egik részfája 1, a másik szintű; az eredeti fa minimalitása miatt pedig mindkét részfa minimális csúcsszámú.

-1 - rekurzió: S = 1 + S -1 + S -

AVL fák - magasság Tétel: Eg magasságú AVL fának legalább F +3-1 csúcsa van Bizonítás: Legen S a legkisebb magasságú AVL fa mérete (ezt jelöljük majd n-nel) Nilván, S 0 = 1 és S 1 = valamint S = S -1 + S - + 1 Indukcióval.. S = F +3-1 ( 3-mal eltolt Fibonacci ) (F + -1+F +1-1 +1=F +3-1)

AVL fák - magasság A Fibonacci számokra igaz a Binet-formula: F n 1 1 n 1 n F 3 3 3 3 1 1 1 1 1 1 1 1

n S 1,44log log 1 log 1 log / 1 1 1 1 1 8 3 3 1 1 n S nem meet az optimális fölé 44%- kal többel

Újrakiegensúlozás beszúrásnál A beszúrás elrontja az AVL tulajdonságot 1 3 4 4 eset: 1 és 4 tükörképek és 3 tükörképek

Újrakiegensúlozás beszúrásnál Eg új attribútumot vezetünk be: kiegensúlozási ténező -1 : bal részfa magasabb 1-gel 0 : egforma magasak a részfák +1: jobb részfa magasabb 1-gel

A (++,+) szabál: + 0 ++ + +1 < < < < beszúrás Az új levél a részfába került. A beszúrás előtt a fa magassága + volt.

A (++,+) szabál: ++ + +1 Az új levél a részfába került. A beszúrás előtt a fa magassága + volt. Forgatás: +1 Ennek a tükörképe a (--,-) szabál! (1. eset) < < < < A forgatás után ismét + a magasság. Ezért feljebb, a befoglaló fában (a van), változatlanul érvénes az AVL tulajdonság, nem kell feljebb menni ellenőrizni.

Példa 1 ++ + 10 3 18 0-17 1-30 ezt szúrtuk be

Példa 0 1 10 18 30 3 17 1

A (++,-) szabál: + 0 z 0-1 -1 Az új levél a z alatti vag részfába került. A beszúrás előtt a z csúcs alatti fák egformák: z ++ - < < < z < < < -1-1 A beszúrás után az egik részfa magassága lett, a másik maradt -1.

A (++,-) szabál: ++ Dupla forgatás kell: először jobbra: ++ - z + z -1 v. 0 v.+ -1-1 v. -1 < < < z < < <

A (++,-) szabál: Dupla forgatás kell: azután balra: z z

A (++,-) szabál: Végeredmén z A beszúrás előtt az gökerű fa magassága + volt. A forgatás után ismét + a magasság. Ezért feljebb, a befoglaló fában (a van), változatlanul érvénes az AVL tulajdonság, nem kell feljebb menni ellenőrizni. Továbbra is igaz: < < < z < < < Ennek a tükörképe a (--,+) szabál!

Újrakiegensúlozás beszúrásnál Összefoglalva: A beszúrás után az új levéltől felfelé aladva a gökér felé újra számoljuk a csúcsok címkéit ezen az útvonalon. Ha eg csúcs címkéje ++ vag -lesz, akkor az gökerű (rész)fa (esetleg dupla) forgatásával elreállítató az AVL tulajdonság. Műveletigén: O(1)

Újrakiegensúlozás beszúrásnál Tétel. Legen S eg n csúcsból álló AVL-fa. BESZÚR(s; S) után legfeljebb eg (esetleg dupla) forgatással elreállítató az AVL-tulajdonság. A beszúrás költsége ezzel egütt is O(log n). Bizonítás: az előzőekből következik

AVL fák újrakiegensúlozás törlésnél A (++,+) és (++,0) szabál +1 + + v. 0 v. +1 +1 A törlés az részfában történt. Ennek a magassága +1 volt és lett. Az gökerű fa magassága +3 volt. ++ + v. 0 v. +1 +1 < < < <

A (++,+) (++,0) szabál ++ + v. +1 +1 A törlés az részfában történt. Ennek a magassága +1 volt és lett. Az gökerű fa magassága +3 volt. Forgatás: v. +1 0 v. - +1 < < < < A forgatás után + a magasság. Ezért feljebb, a befoglaló fában (a van), nem biztos, og változatlanul érvénes az AVL tulajdonság, feljebb kell menni ellenőrizni, amíg a gökérig nem jutunk.

A (++,+) szabál Ha az eredeti fában például: + z + + +1 +1 +4 < < < < < z <

A (++,+) szabál Akkor az eredmén fa: z ++ + 0 +1 +4 < < < < < z < feljebb kell menni ellenőrizni, és szükség szerint elreállítani, amíg a gökérig nem jutunk.

A (++,-) szabál +1-1 v. z + v. -1 < < < z < < < - A törlés az részfában történik. Ennek a magassága +1 volt és lett. Az gökerű fa magassága +3. -1 v. z ++ 0 v. -1 - dupla forgatás

A (++,-) szabál: ++ Dupla forgatás kell: először jobbra: ++ - z z -1 v. -1 v. v. -1 v. -1 < < < z < < <

A (++,-) szabál: Dupla forgatás kell: azután balra: z z -1 v. v. -1

A (++,-) szabál: Végeredmén z A forgatás után + a magasság. Ezért feljebb, a befoglaló fában (a van), nem biztos, og változatlanul érvénes az AVL tulajdonság, feljebb kell menni ellenőrizni, amíg a gökérig nem jutunk. Továbbra is igaz: < < < z < < <

Újrakiegensúlozás törlésnél Összefoglalva: Mivel az gökerű fa magassága csökkent a forgatással, ezért feljebb is, a van befoglaló fa, elromolatott az AVL tulajdonság. A törlés után a törölt elem szülőjétől kezdve felfelé aladva a gökér felé újra számoljuk a csúcsok címkéit ezen az útvonalon. Ha eg csúcs címkéje ++ vag - lesz, akkor az gökerű (rész)fa (esetleg dupla) forgatásával elreállítjuk annak AVL tulajdonságát. Ha nem a gökér, akkor feljebb kell lépni és foltatni kell az ellenőrzést. Szélsőséges esetben az adott útvonal minden pontjában forgatni kell!

Újrakiegensúlozás törlésnél Tétel: Az n pontú AVL-fából való törlés után legfeljebb 1,44 log n (sima vag dupla) forgatás elreállítja az AVL-tulajdonságot. Bizonítás: az előzőekből következik.

Összefoglalás AVL fák Az első dinamikusan kiegensúlozott fák A magasság az optimális 44%-án belül Újrakiegensúlozás forgatásokkal O(log n) Nézzük meg az animációt! ttp://www.cs.ju.edu/~goodric/dsa/trees/avltree.tml