Jobbra és balraforgatás



Hasonló dokumentumok
A vezeték legmélyebb pontjának meghatározása

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

19. Függvények rekurzív megadása, a mester módszer

Algoritmusok és adatszerkezetek II.

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

TERMOELEKTROMOS HŰTŐELEMEK VIZSGÁLATA

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

3-4.elıadás: Optimális választás; A fogyasztó kereslete

TENGELY szilárdsági ellenőrzése

GAZDASÁGI MATEMATIKA I.

Sűrűségmérés. 1. Szilárd test sűrűségének mérése

Exponenciális és logaritmikus egyenletek, egyenletrendszerek, egyenlôtlenségek

VB-EC2012 program rövid szakmai ismertetése

Mátrixok és determinánsok

Z600 Series Color Jetprinter

PÁLYÁZATI ÚTMUTATÓ. a Társadalmi Megújulás Operatív Program keretében

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

PÉLDA: Négyezer-hatszázöt Jel Szám

Óravázlatok: Matematika 2. Tartományintegrálok

FIGYELEM! Ez a kérdőív az adatszolgáltatás teljesítésére nem alkalmas, csak tájékoztatóul szolgál!

MAGICAR 441 E TÍPUSÚ AUTÓRIASZTÓ-RENDSZER

Kerületi Közoktatási Esélyegyenlőségi Program Felülvizsgálata Budapest Főváros IX. Kerület Ferencváros Önkormányzata 2011.

2000. évi XXV. törvény a kémiai biztonságról1

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

HATÁROZAT. zajkibocsátási határértékeket állapítok meg

SÉNYŐ KÖZSÉG TELEPÜLÉSRENDEZÉSI TERVÉNEK ÉVI MÓDOSÍTÁSA A 046/14 HRSZ-Ú INGATLAN TÖMBJE

MATEMATIKA FELADATLAP a 6. évfolyamosok számára

A kurzus teljesítésének feltételei. Az I404 kódú kurzus teljesítéséhez meg kell oldani egy otthoni feladatot, határidő április 30.

ELŐKÉSZÜLETEK HÍMZÉS FÜGGELÉK. Számítógép-vezérelte hímzőgép. Használati utasítás

Szerelői referencia útmutató

6. Tárkezelés. Operációs rendszerek. Bevezetés A program címeinek kötése. A címleképzés. A címek kötésének lehetőségei

Együtt Egymásért. 6. Szám. Kirándulás Erdélybe. Kiadja a Háromhatár Kulturális és Sport Egyesület Kup

Hatvani István fizikaverseny forduló megoldások. 1. kategória

Az LR elemző felépítése. Léptetés. Redukálás. Kiegészített grammatika. Mit kell redukálni? Kiegészített grammatika. elemző. elemző.

Start. a b. Gyors telepítési útmutató DCP-J552DW DCP-J752DW. készülék kicsomagolása FIGYELEM VIGYÁZAT FONTOS MEGJEGYZÉS FIGYELEM

Használati utasítás. Olvassa el használat előtt. Olvassa el, ha további információra van szüksége. Számítógép-vezérelte varrógép ELŐKÉSZÜLETEK

(Nem jogalkotási aktusok) HATÁROZATOK

Kezelési útmutató ECO és ECO Plus

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

finanszírozza más városnak, tehát ezt máshonnan finanszírozni nem lehet.

FÁCÁNKERT HELYI ÉRTÉKVÉDELMI KATASZTER

Valószínűségszámítás összefoglaló

Jegyzőkönyv. Termoelektromos hűtőelemek vizsgálatáról (4)

Használati utasítás. Használat előtt olvassa el. Olvassa el, ha további információkra van szüksége. Számítógép-vezérelte varrógép ELŐKÉSZÜLETEK

MAGYAR NYELVI FELADATLAP a 4. évfolyamosok számára

MATEMATIKA FELZÁRKÓZTATÓ TANFOLYAM

PÉLDA: Négyezer-hatszázöt Jel Szám

MATEMATIKA PRÓBAÉRETTSÉGI MEGOLDÓKULCS EMELT SZINT

LF-022 LJ-024 LJ-0225 S LJF-012

2015, Diszkrét matematika

Algoritmusok és adatszerkezetek gyakorlat 07

Számláló rendezés. Példa

Végeredmények, emelt szintû feladatok részletes megoldása

JÁRÁSI SZINTŰ ESÉLYTEREMTŐ PÜSPÖKL ADÁNYI JÁRÁS

Adatszerkezet - műveletek

Egyszerű programozási tételek

ANALÍZIS II. TÉTELBIZONYÍTÁSOK ÍRÁSBELI VIZSGÁRA

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

A Szolgáltatás minőségével kapcsolatos viták

MAGYAR NYELVI FELADATLAP a 8. évfolyamosok számára

Írásbeli szorzás kétjegyû szorzóval

VIESMANN. VITODENS Égéstermék elvezetések kondenzációs falikazánokhoz 3,8 105,0 kw. Tervezési segédlet. Vitodens égéstermék-elvezető rendszerek

II. A számtani és mértani közép közötti összefüggés

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Juhász István Orosz Gyula Paróczay József Szászné Dr. Simon Judit MATEMATIKA 10. Az érthetõ matematika tankönyv feladatainak megoldásai

A torokgerendás fedélszerkezet erőjátékáról 1. rész

Budapesti Műszaki Főiskola Kandó Kálmán Villamosmérnöki Főiskolai Kar Automatika Intézet. Félévi követelmények és útmutató VILLAMOS GÉPEK.

DEME FERENC okl. építőmérnök, mérnöktanár RÁCSOS TARTÓK

(11,05 Miskolczi Ferenc megérkezett, a létszám: 21 fő)

Els gyakorlat. vagy más jelöléssel

1988. évi I. törvény Hatályos:

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Lakások elektromágneses sugárzásának mértéke és ezek csökkentési lehetőségei

RÉSZLETES TÁJÉKOZTATÓ A MECSEK-ÖKO ZRT. VOLT URÁNBÁNYÁSZATI- ÉS ÉRCFELDOLGOZÁSI TERÜLETEN VÉGZETT REKULTIVÁCIÓS ÉS UTÓGONDOZÁSI TEVÉKENYSÉGÉRŐL

Házi feladatok megoldása. Automaták analízise, szintézise és minimalizálása. Házi feladatok megoldása. Házi feladatok megoldása

Mesterséges intelligencia 1 előadások

ELBIR. Elektronikus Lakossági Bűnmegelőzési Információs Rendszer A FEJÉR MEGYEI RENDŐR-FŐKAPITÁNYSÁG BŰNMEGELŐZÉSI HIRLEVELE 2010.

MARADÉKANOMÁLIA-SZÁMÍTÁS

A teremgyeplabda szabályai magyarázatokkal. Hatályos: január 1.

Matematika I. Mőszaki informatikai mérnm. rnökasszisztens. Galambos GáborG JGYPK 2011

A VARIÁCIÓSZÁMÍTÁS ALAPÖSSZEFÜGGÉSEI, ÉS GYAKORLATI ALKALMAZÁSA I. BEVEZETÉS, MOTIVÁCIÓ, PROBLÉMAFELVETÉS

Cafitesse 60. Návod k obsluze Használati utasítás ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ Operator manual. Article no C. December 2009

TIMSS TERMÉSZETTUDOMÁNY. 8. évfolyam NYILVÁNOSSÁGRA HOZOTT FELADATOK

A vasbeton vázszerkezet, mint a villámvédelmi rendszer része

ÖSZVÉRSZERKEZETEK. Tartószerkezet-rekonstrukciós Szakmérnöki Képzés a BME Szilárdságtani és Tartószerkezeti Tanszéken. Dr.

Manual de instalación y uso del aparato LCD Manual de instalação e uso do aparelho LCD

Diszkrét Matematika I.

Mátrix-vektor feladatok Összeállította dr. Salánki József egyetemi adjunktus Begépelte Dr. Dudás László és Bálint Gusztáv

Ptolemaios-tétele, Casey-tétel, feladatok

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

MINTA. irányítószám település (város, község neve) településrész. közterület jellege (út, utca, tér, stb.) Összeírás ideje: június 1-30.

Gyakorló feladatok ZH-ra

4. Legyen Σ = {0, 1}. Adjon meg egy determinisztikus véges automatát, amely azokat a szavakat fogadja el,

150 mm 150 mm. 150 mm

Példa 30 14, 22 55,

Házi feladatok megoldása. Harmadik típusú nyelvek és véges automaták. Házi feladatok megoldása. VDA-hoz 3NF nyelvtan készítése

150 mm 150 mm. 150 mm

MATEMATIKA FELADATLAP a 4. évfolyamosok számára

Kriptográfiai algoritmus implementációk időalapú támadása Endrődi Csilla, Csorba Kristóf BME MIT

Átírás:

Def A P F pont (mgsság-)egyensúly: AVL f Egy(P) = h(jo(p)) h(bl(p)) Def Az F inf AVL-f, h ( P F)( Egy(P) ) tétel H F AVL-f, kkor h(f).44 lg(n + ), hol n z F f pontjink számát jelöli. Biz Legyen N m z m mgsságú, legkevese pontot trtlmzó AVL-f pontjink szám. Ekkor N m F, h F AVL-f és h(f) = m. N =, N =, N 2 = 2 és N m = + N m 2 + N m, h m >. Legyen B i = N i +. Ekkor B =,B = 2 és B m = B m 2 + B m h (m > ). lemm Φ m B m, hol (Φ = + 5)/2. = Φ B, Φ B. Teljes indukió lpján, h 2,...,m -re áll z egyenlőtlenség B m = B m 2 + B m Φ m 2 + Φ m = Φ m 2 ( + Φ). Viszont ( + Φ) = Φ 2, így lemmát igzoltuk. Tehát Φ m B m = N m + n +, zz m logφ log(n + ). Következésképpen h(f) = m logφ log(n + ) =.44 log(n + ). Műveletek Mind eszúrás mind pedig törlés esetén z lgoritmus elsőként ináris keresőfáknál tnultknk megfelelően eszúrj illetve törli z elemet, mjd eszúráshoz illetve törléshez trtozó ővítőúton illetve törlőúton felfele hldv lokális forgtásokkl helyreállítj tuljdonságot. Def U = [P,...,P m ] X-ővítőút, h h X < Adt(P i ) kkor P i+ = Bl(P i ) és h X > Adt(P i ) kkor P i+ = Jo(P i ) i < m esetén h X < Adt(P m ) kkor Bl(P m ) = Nil és h X > Adt(P m ) kkor Jo(P m ) = Nil Def U = [P,...,P m ] X-törlőút, h t m melyre Adt(P t ) = X és h X < Adt(P i ) kkor P i+ = Bl(P i ) és h X > Adt(P i ) kkor P i+ = Jo(P i ) i < t esetén t = m és Bl(P t ) = Nil vgy Jo(P t ) = Nil vgy t < m és Bl(P t ) Nil Jo(P t ) Nil és P t+ = Jo(P t ), Pi+ = Bl(P i ) h (t < i < m) BlrForgt(F,x) y:=jo(x) jo(x):=l(y) if l(y)!=nil(t) then p(l(y)):=x p(y):=p(x) If p(x)=nil(f) Then F:=y else if x=l(p(x)) Jor és lrforgtás

then l(p(x)):=y else jo(p(x):=y l(y):=x p(x):=y A JorForgt teljesen hsonló, x helyére lfi kerül. X 2 Y Y X - Egyszeres lr forgtás. ár. Kétszeres forgtás A kétszeres lr forgtás esetén feltesszük, hogy l( jo(x) Nil, ez feltétel teljesül, mikor helyreállítás során ezt forgtást kell hsználni. KetszeresBlrForgt(F,x) y:=jo(x) z:=l(jo(x)) jo(x):=l(z) if l(z)!=nil then p(l(z)):=x l(y):=jo(z) if jo(z)!=nil then p(jo(z)):=y p(z):=p(x) If p(x)=nil Then F:=z 2

Y X -2 - X Y - Egyszeres jor forgtás 2. ár. else if x=l(p(x)) then l(p(x)):=z else jo(p(x):=z l(z):=x p(x):=z jo(z):=y p(y):=z A JorForgt teljesen hsonló, x helyére lfiánk jofi kerül. A helyreállítás időigénye Miután ővítő és törlőút minden eleménél legfelje egy forgtást hjtunk végre z időigény O(log(n)). Igzolhtó, hogy eszúrás esetén konstns. Demonstráiós progrmok AVL fák esetén. http://people.ksp.sk/~kuko/k/index.html http://www.si.uottw./~stn/si254/pplets/vl/bt.html Áltlános keresőfák Az áltlános keresőf olyn sztrkt dtszerkezet, mely f és minden elláján nem sk egy kuls (dt) hnem kulsok egy rendezett sorozt vn. Tehát minden p F esetén Adt(p) = [,..., k ]. Ekkor zt mondjuk, hogy p rngj k, Rng(p) = k. Def. Az F f (áltlános) keresőf, h p F esetén: 3

A 2 B - C - d C A - d B Kétszeres lr forgtás 3. ár. p-nek Rng(p)+ = Fok(p) számú fi vn. Adt(p) = [,..., k ] egy rendezett sorozt. mx(f f iu(p,i)) i min(f f iu(p,i + )), minden i =,...,Rng(p), hol F f iu(p,i) z F f f iu(p,i) gyökerű részfáj. Def. Az F f t-rendű (t 2) B-f, h teljesül rá z lái 4 feltétel: Áltlános keresőf. A gyökér kivételével minden p F pontr t Rng(p) 2t, gyökér rngj legfelje 2t. Minden p F nem levél pontr Fiu(p,i) Nil, i =,...,Rng(p) +. Minden p F levélpontr d(p) = h(f), zz minden levél pont mélysége zonos. Egy p pontot telítettnek nevezünk, h Rng(p) = 2t, illetve minimálisnk, h Rng(p) = t. Továá feltesszük, hogy minden ponthoz trtozik egy Level oolen változó, mi kkor igz, h pont levél. B-fák felhsználás: B fákt olyn dtszerkezetek esetén hsználják, melyek nem férnek el gyorsmemórián. Az ktuális pont vn gyorsmemórián, és mikor másik lpr érünk zt háttértáról olvssuk e. Következésképpen műveletek htékonyság elsősorn pontokhoz történő hozzáférések számától függ. B-fák mgsság Tétel: Minden n dtot trtlmzó t-rendű F B-fár h(f) log t n+ 2 +. 4

C B -2 d A - A B - d C Kétszeres jor forgtás 4. ár. Biz. Vizsgáljuk meg, hogy egy h mgsságú t rendű B-fán mennyi z dtok minimálisn lehetséges szám. A gyökér leglá egy dtot trtlmz, és vn két fi. A első szinten mindkét fiú leglá t dtot trtlmz, és mindkettőnek vn leglá t fi. Azz második szinten leglá 2t pont vn. A második szinten 2t pont mindegyike trtlmz leglá t dtot, így szinten z dtok szám 2t(t ) tová minden pontnk vn leglá t fi, így következő szinten pontok szám 2t 2. Teljes indukióvl igzolhtó, hogy z i-edik szinten pontok szám leglá 2t i, így z dtok szám leglá 2t i (t ). Következésképpen egy h mgs fán z dtok szám h + i= 2t i (t ) = + 2(t ) th t Tehát n 2t h, így h log t n+ 2 +. Keresés B fán = 2t h. A keresés áltlánosítás ináris keresőfák esetén hsznált keres lgoritmusnk. Bfkeres(F,x) i:= while i<=rng(f) nd k>kuls(f,i) i:=i+ if i<=rng(f) nd k=kuls(f,i) Then return(f,i) 5

P=,..., k Fiu(P,) Fiu(P,) Fiu(P,k- ) Fiu(P,k) Áltlános keres f 5. ár. if level(f) Then return Nil else return BFkeres(Ffiu(F,i),k) Pontok szétvágás A Beszúrás során pontot levéle szúrjuk e, hol sikertelen keresése véget érne. Ekkor h ez levél telített, kkor eszúrás sértené pontok rngjár vontkozó korlátot. Ennek megelőzésére eszúrás során megszüntetjük telített pontokt. Erre hsználhtjuk telített pontok szétvágását megvlósító lái eljárást. Az lgoritmus z y pontot, melyre Rng(y) = 2t és mely z x pont i-edik fi vágj ketté közepén. A középső dt felmegy z x-e. Bfvg(x,i,y) Letesit(z: Bfpont) Level(z):=Level(y) Rng(z):=t- for j= to t- kuls(z,j):=kuls(y,j+t) if notlevel(y) Then for j= to t Fiu(z,j):=Fiu(y,j+t) Rng(y):=t- for j:=rng(x)+ down to i+ Fiu(x,j+):=Fiu(x,j) 6

F(x,i+):=z for j:=rng(x)+ down to i kuls(x,j+)=kuls(x,j) kuls(x,i):=kuls(y,t) Rng(x):=Rng(x)+ X=...xi, xi+... Y= y,...yt-, yt, yt+... y2t- X=...xi,,yt,,xi+... y,...yt- yt+... y2t- B f szétvágás 6. ár. Beszúrás B fá Bfeszur(F,k) If Rng(F)=2t- Then r:=f Letesit(s: Bfpont) Level(s):=flse Rng(s):= Fiu(s,):=F F:=s Bfvg(F,,r) NemTelitettBeszur(F,k) Else NemTelitettBeszur(F,k) NemTelitettBeszur(F,k) i:=rng(f) if level(f) 7

then while i>= nd k<kuls(f,i) kuls(f,i+):=kuls(f,i) i:=i- kuls(f,i+):=k rng(f):=rng(f)+ else while i>= nd k<kuls(f,i) i:=i- if Rng(Fiu(F,i))=2t- then Bfvg(F,i,Fiu(F,i)) if k>kuls(f,i) then i:=i+ NemTelitettBeszur(Fiu(F,i),k) Törlés B fáól Elsőként megkeressük törlendő súsot, h törlendő kuls nem levélen vn, kkor megkeressük rákövetkező elemet (nnk részfánk mximális (legjorá eső) eleme, melynek gyökere keresett kuls jooldli fi). Ez z elem már levélen helyezkedik el, zt töröljük fáól z dtokt törlés előtt kiseréljük. Prolém kkor áll fennt h levél, melyen tényleges törlést végrehjtjuk minimális. Ezt lehetőséget úgy zárjuk ki, hogy ténylegesen kitörlendő elem keresése során, mindig megszüntetjük minimális pontokt fán. Minimális pontok megszüntetése H pontnk vgy lszomszédj vgy joszomszédj nem minimális, kkor megfelelő nem minimális szomszédól átdunk egy elemet. Ezt úgy tehetjük meg, hogy z átdó pont legszélső eleme felmegy z pá, és z p megfelelő eleme, lemegy minimális pont, melyen meg krjuk szüntetni minimlitást. H pontnk egy minimális szomszédj vn, vgy mindkét szomszédj minimális, kkor pontot és egy minimális szomszédját összevonjuk. A két pontól, továá z pán két pontot elválsztó kulsól egy új pont lesz, minek rngj 2t. Az összevonás Bfvg művelet inverze. Mind eszúrás mind pedig törlés futási ideje legrossz eseten B f mgsságávl rányos. Tehát futási idő O(log t (n)). A fenti lgoritmusok mind eszúrás mind pedig törlés esetén z ugynevezett pesszimist strtégiát követték, mi zt jelenti, hogy eszúrás helyének, illetve ténylegesen törlendő elemnek keresése során gondoskodnk ról, hogy ne legyen telített illetve minimális pont. Létezik optimist megvlósítás is ugynezeknek z ötleteknek, mely során elsőként megkeressük eszúrás helyét illetve törlendő elemet és szükség esetén állítjuk helyre rngokr vontkozó korlátokt, felfele menve eszúró illetve törlőúton. http://people.ksp.sk/~kuko/k/index.html http://sldy.net/jv/t/view.php AVL f definíió egyszeres, kétszeres forgtás z AVL f tuljdonság helyreállításink esetei B f definíiój Demonstráiós progrmok Kiskérdések 8

X= x, x2,... xk Y=y,..., yj Z=z,..., zt- X= yj, x2,... xk Y=y,..., yj- Z=x,z,..., zt- 7. ár. B f szétvágás Beszúrás B fá Törlés B fáól 9