Balanserte søketrær. AVL-trær. AVL-trær. AVL-trær høyde AVL AVL. AVL-trær (Adelson-Velskii og Landis, 1962) Splay-trær (Sleator og Tarjan, 1985)

Like dokumenter
EKSAMEN Ny og utsatt Løsningsforslag

EKSAMEN ny og utsatt løsningsforslag

Dynamisk programmering. Hvilke problemer? Overlappende delproblemer. Optimalitetsprinsippet

EKSAMEN Løsningsforslag

IT1105 Algoritmer og datastrukturer

Dynamisk programmering. Hvilke problemer? Overlappende delproblemer. Optimalitetsprinsippet

Prioritetskøer. Prioritetskøer. Binære heaper (vanligst) Prioritetskøer

Definisjon: Et sortert tre

Selv-balanserende søketrær

Lars Vidar Magnusson Kapittel 13 Rød-Svarte (Red-Black) trær Rotasjoner Insetting Sletting

Prioritetskøer. Binære heaper Venstrevridde heaper (Leftist) Binomialheaper Fibonacciheaper

Lars Vidar Magnusson

Seleksjon og uttak av alderspensjon fra Folketrygden

INF2220: Gruppe me 2. Mathias Lohne Høsten 2017

Automatisk koplingspåsats Komfort Bruksanvisning

Sparing gir mulighet for å forskyve forbruk over tid; spesielt kan ujevne inntekter transformeres til jevnere forbruk.

Balanserte binære søketrær

Sorterings- Algoritmer

Simpleksmetoden. Initiell basistabell Fase I for å skaffe initiell, brukbar løsning. Fase II: Iterativ prosess for å finne optimal løsning Pivotering

TMA4240/4245 Statistikk Eksamen august 2016

Anvendelser. Kapittel 12. Minste kvadraters metode

Alternerende rekker og absolutt konvergens

MA1301 Tallteori Høsten 2014

INF2220: Forelesning 2

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.4

system 16 mm / 25 mm / 32 mm MONTERINGSVEILEDNING

Fast valutakurs, selvstendig rentepolitikk og frie kapitalbevegelser er ikke forenlig på samme tid

Definisjon av binært søketre

INF Algoritmer og datastrukturer

Vekst i skjermet virksomhet: Er dette et problem? Trend mot større andel sysselsetting i skjermet

Lars Vidar Magnusson

Definisjon. I et binært tre har hver node enten 0, 1 eller 2 barn

MoD233 - Geir Hasle - Leksjon 10 2

Dynamisk programmering. Hvilke problemer? Optimalitetsprinsippet. Overlappende delproblemer

Heap og prioritetskø. Marjory the Trash Heap fra Fraggle Rock

Notater. Marie Lillehammer. Usikkerhetsanalyse for utslipp av farlige stoffer 2009/30. Notater

i kjemiske forbindelser 5. Hydrogen har oksidasjonstall Oksygen har oksidsjonstall -2

Løsningsforslag ST2301 Øving 8

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

TMA4245 Statistikk Eksamen mai 2016

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)

INF2220: Forelesning 2

INF Algoritmer og datastrukturer

Appendiks 1: Organisering av Riksdagsdata i SPSS. Sannerstedt- og Sjölins data er klargjort for logitanalyse i SPSS filen på følgende måte:

Binær heap. En heap er et komplett binært tre:

Forelesning nr.3 INF 1411 Elektroniske systemer. Parallelle og parallell-serielle kretser Kirchhoffs strømlov

Sluttrapport. utprøvingen av

INF Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

Heap* En heap er et komplett binært tre: En heap er også et monotont binært tre:

Oppgave 3, SØK400 våren 2002, v/d. Lund

Løsningsforslag øving 10 TMA4110 høsten 2018

Forelesning nr.3 INF 1411 Elektroniske systemer

Statens vegvesen. Vegpakke Salten fase 1 - Nye takst- og rabattordninger. Utvidet garanti for bompengeselskapets lån.

Hva er afasi? Afasi. Hva nå? Andre følger av hjerneskade. Noen typer afasi

Regler om normalfordelingen

Fra Kap.10 Binære søketre (BS-tre) Sist oppdatert Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes

TMA4265 Stokastiske prosesser

Eksamen i emne SIB8005 TRAFIKKREGULERING GRUNNKURS

Regler om normalfordelingen

Arbeid og potensiell energi

Repetisjon: Binære. Dagens plan: Rød-svarte trær. Oppgave (N + 1)!

Regler om normalfordelingen

*** Spm. 841 *** Hvilke former for sparing og pengeplasseringer for folk flest kan du nevne?

IN Algoritmer og datastrukturer

Fleksibelt arbeidsliv. Befolkningsundersøkelse utført for Manpower September 2015

Forelesning 17 torsdag den 16. oktober

NOEN SANNSYNLIGHETER I BRIDGE Av Hans-Wilhelm Mørch.

Stivt legemers dynamikk

TMA4245 Statistikk Eksamen august 2014

INF2220: Time 12 - Sortering

Et eksempel: Åtterspillet

Fleksibelt arbeidsliv. Befolkningsundersøkelse utført for Manpower September 2015

Et eksempel: Åtterspillet

(iii) Når 5 er blitt trukket ut, er det tre igjen som kan blir trukket ut til den siste plassen, altså:

Studieprogramundersøkelsen 2013

Binære trær: Noen algoritmer og anvendelser

INF 2310 Digital bildebehandling

Fourieranalyse. Fourierrekker på reell form. Eksempel La. TMA4135 Matematikk 4D. En funksjon sies å ha periode p > 0 dersom

COLUMBUS. Lærerveiledning Norge og fylkene. ved Rolf Mikkelsen. Cappelen Damm

Illustrasjon av regel 5.19 om sentralgrenseteoremet og litt om heltallskorreksjon (som i eksempel 5.18).

NÆRINGSSTRUKTUR OG INTERNASJONAL HANDEL

Arbeid og potensiell energi

Eksamen i IN 110, 18. mai 1993 Side 2 Del 1 (15%) Vi skal se på prioritetskøer av heltall, der vi hele tiden er interessert i å få ut den minste verdi

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

Introduksjon Online Rapport Din trinn for trinn-guide til den nye Online Rapporten (OLR) Online Rapport

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Løsningskisse for oppgaver til uke 15 ( april)

Dagens plan: INF Algoritmer og datastrukturer. Repetisjon: Binære søketrær. Repetisjon: Binære søketrær

UNIVERSITETET I OSLO

Arbeid og potensiell energi

EKSAMEN I FAG SIF5040 NUMERISKE METODER Tirsdag 15. mai 2001 Tid: 09:00 14:00

UNIVERSITETET I OSLO

MASTER I IDRETTSVITENSKAP 2012/2014. Individuell skriftlig eksamen. MAS 402- Statistikk. Tirsdag 9. oktober 2012 kl

Uke 5 Disjunkte mengder

STK1100 våren 2015 P A B P B A. Betinget sannsynlighet. Vi trenger en definisjon av betinget sannsynlighet! Eksemplet motiverer definisjonen:

Jobbskifteundersøkelsen Utarbeidet for Experis

Kap.12. Flervegssøketre. Studerer 2-3 og 2-4 trær. Sist oppdatert

Denne anvisningen er en del av produktet og skal være hos sluttkunden. Bilde 1: Trådløs håndsender dobbel og firedobbel

Transkript:

alanserte søketrær VL-trær Et bnært tre er et VL-tre hvs ølgende holder: VL-trær delson-velsk og Lands, 96 play-trær leator og Tarjan, 98. orskjellen høyde mellom det høyre og det venstre deltreet er maksmalt, og. det høyre og det venstre deltreet også er VL-trær. VL-trær Et bnært tre er et VL-tre hvs ølgende holder:. orskjellen høyde mellom det høyre og det venstre deltreet er maksmalt, og. det høyre og det venstre deltreet også er VL-trær. VL-trær høyde Komplette bnære trær har lav høyde Olog n, og de leste operasjoner på trær har kjøretd proporsjonalt med høyden av treet. den høyre og venstre deltrær et VL-tre kke kan avvke høyde med mer enn, er VL-trær opplagt relatvt nær komplette. VL-trær er deror relatvt eektve. Men akkurat hvor eektve dvs. høye er VL trær? Et komplett bnært tre med n noder har log n nvåer. VL-trær med n noder har maksmalt. log n nvåer. VL VL

VL-trær høyde VL-trær høyde evset går mest elegant gjennom ved å denere høyde som antall nvåer. Teorem. evs. Et VL-tre på n noder har høyde antall nvåer maksmalt.0 log n. La h være antall noder et worst case-vl-tre av høyde h, h h - h -, 0 0,. Fbonacc-tallene er denert som F h F h - F h -, F 0 0, F. h F h 0 0 6 7 7 8 h 0 7 0 V ser at h F h -. worst case-trær F h h, er det såkalte gyldne sntt.680k. NINT, unksjonen [x] NINT er avrundng tl nærmeste heltall. evs. orts For å jerne avhenggheten av NINT-unksjonen, kan v skrve h h F h >, slk at NINT h h >. Ta nå et vlkårlg VL-tre. La n være antall noder og h høyden. a har v h n h > h n > h log n > log VL-trær høyde Høyden av et komplett bnærtre gr en nedre grense or høyden h av et VL-tre med n noder. Teoremet gr en øvre grense. log n h <.0 log n - 0.77 log n > h log log n > h log log enerer v høyden som antall nvåer, er høyden av et komplett bnærtre log n. h < 0. log n 0. 77.

Insert elete Fnd } Kan VL-trær operasjoner øre tl at balansekravet brytes rebalanserng kreves. Insert elete Fnd } Kan VL-trær operasjoner øre tl at balansekravet brytes rebalanserng kreves. Insert elete Fnd } Kan VL-trær operasjoner øre tl at balansekravet brytes rebalanserng kreves. VL-trær nsert La x være den laveste noden lengst ned treet hvor ubalanse høydeorskjell oppstår. et er re mulge tleller to og to er symmetrske venstre-høyre avhengg av om nnsettngen skjedde:. venstre deltre av venstre barn av x, VV. høyre deltre av venstre barn av x, VH. venstre deltre av høyre barn av x, HV. høyre deltre av høyre barn av x, HH I tlellene og rettes ubalansen med en enkel rotasjon, I tlellene og rettes ubalansen med en dobbel rotasjon.

VL-trær nsert enkel rotasjon VL-trær nsert enkel rotasjon 0 6 6 0 HH VL-trær nsert enkel rotasjon VL-trær nsert enkel rotasjon

VL-trær nsert enkel rotasjon VL-trær nsert dobbel rotasjon 0 6 0 6 HV VL-trær nsert dobbel rotasjon VL-trær nsert dobbel rotasjon

VL-trær nsert dobbel rotasjon VL-trær nsert dobbel rotasjon VL-trær nsert VL-trær delete enkel rotasjon Etter rotasjonen enkel eller dobbel er høyden av det berørte deltreet den samme som ør nsert.

VL-trær delete enkel rotasjon VL-trær delete dobbel rotasjon - VL-trær delete VL-trær eektvtet Når v rebalanserer et deltre etter slettng, kan deltreet bl or lavt, slk at det blr ubalanse høyere opp treet. Hele veen opp tl roten av treet log n nvåer må v sjekke or ubalanse, og evt. rebalansere. Et VL-tre med n noder har høyde h antall nvåer mellom log n og. log n Operasjonene nsert, delete, nd har kjøretd Oh.

emo play-trær http://webpages.ull.es/users/jrera/ocenca/vl/vl%0tree%0applet.htm play-trær er bnære trær, med speselle oppdaterngs- og aksesserngsregler som gjør at treet over td er eektvt å søke. et er kke noe eksplstt balansekrav, men treet tlpasser seg operasjonene som gjøres. Nylg aksesserte noder lyttes høyt opp treet. En sekvens av m operasjoner på ntelt tomt tre tar td Om log n. V ser at amortsert kostnad per operasjon er Olog n. Ltt svakere enn å garantere at hver operasjon tar td Olog n, men over td lke bra. Ingen sekvens av operasjoner på treet er dårlg. play-trær play-trær I vanlge bnære trær kan v ha lange sekvenser av operasjoner som alle tar On IKKE! Med splay-trær har v ortsatt worst case td On or operasjonene, men en garant or at en vlkårlg sekvens av m operasjoner kke tar mer td enn Om log n! Innmellom kan v godta at noen operasjoner på play-treet tar td On Men or kke ote. Og v må ha gjort nok bllge operasjoner orkant tl at det veer opp. Hvs en operasjon.eks nd på en verd kan ta td On, så må opplagt denne operasjonen modsere treet. Ellers kunne v bare utørt denne operasjonen m ganger og brukt td Omn. runntanken bak splay-trær er at noder som aksesseres lyttes opp tl roten med VL-aktge modkasjoner. Noder som kan lgge langt nede treet lyttes helt opp tl roten, og drar da med seg andre noder oppover. V unngår å dytte andre noder lke langt ned. Flyttngen har altså en balanserende eekt. Ote slk at en nylg aksessert node aksesseres gjen.

play-trær splayng zg play-trær splayng zgzag play-trær splayng zgzg play-trær eksempel E F

play-trær eksempel play-trær eksempel E F E F play-trær operasjoner Insert øk nedover treet tl noden x som skal å nytt barn nnes. play x. x blr rot. ett nn det nye elementet som ny rot, mellom x og x stt venstre eller høyre barn avhengg av om elementet som settes nn er større eller mndre. Fnd øk nedover treet or å se om noden x med verden nnes. play x. elete øk nedover treet tl noden x som slettes nnes. play x. x blr rot. lett x. Treet deles to. Fnn største node venstre deltre v, og splay denne. v blr rot det venstre treet og har bare venstre barn. Koble det høyre deltreet på som v stt høyre barn. play trær amortsert td mortsert kjøretd or operasjoner på et splay-tre er Olog n. ltså: m operasjoner tar td Om log n, uansett hvlke m operasjoner det er. V bruker den såkalte potensalmetoden. Tenk på det som en bankkonto du kan sette nn penger på og ta penger ut av. jør v en bllg operasjon, øker v potensalet tlsvarende, slk at v har penger på konto tl å gjøre dyre operasjoner senere. jør v en dyr operasjon, må v ta penger ra kontoen. Overtrekker v kontoen, har v tapt. a er det en sekvens av m operasjoner som bruker or lang td.

play trær amortsert td play trær amortsert td otensalunksjonen v skal bruke or et tre T er Φ T log T antall etterkommere av, medregnet. Lemma. Hvs a b c og a og b er postve heltall, så er log a log b log c -. For å orenkle ltt skrver v log lk at Φ T. T evs. a b ab c ab c ab c log ab log log a log b log c, ølger av gjennomsnttsteoremet a b 0 a ab b 0 a ab b ab a b ab a b ab a b ab play trær amortsert td evs. orts. Teorem. evs. mortsert td or å splaye en node et tre med rot T er maksmalt T- Olog n Hvs er rotnoden, er det ngen rotasjoner, aksesserng tar td, og teoremet holder. V antar deror at det gjøres mnst en rotasjon når v splayer. La og være verdene ør splay-steget, og la x og være verdene etter steget. V ser på operasjonene zg, zgzag og zgzg hver or seg. Tdsorbruk: or den ene rotasjonen Endrng potensal: zg zg zg zg

zgzag evs. orts. Tdsorbruk: dobbel rotasjonen Endrng potensal: Lemma zgzag zgzag zgzag zgzag zgzag zgzag zgzg evs. orts. Tdsorbruk: dobbel rotasjonen Endrng potensal: zgzg zgzg zgzg zgzg zgzg zgzg En lten sdebemerknng or å vse - - log log log x log y, x,y> 0 og x y < har maksmal verd på - når x y /, se gur.. ergo er, log log altså har V 0 0. 0. 0.7 0 0. 0. 0.7-0 -8-6 - - 0 0. 0. 0.7 Tl slutt ser v på en sere av m rotasjoner, bare den sste kan være zg: evs. orts.. log log log log samme som dette det er slutt, tl rot den blr n O n n T m m m M