Flerveis søketrær og B-trær
|
|
|
- Daniel Rasmussen
- 9 år siden
- Visninger:
Transkript
1 Flerveis søketrær og B-trær
2 Flerveis søketre * Generalisering av binært søketre Binært søketre: Hver node har maksimalt 2 subtrær/barn og 1 verdi Barna ligger sortert på verdi i forhold til den ene verdien Flerveis søketre av orden** m: Hver node har maksimalt m barn og m 1 sorterte verdier Barna ligger sortert «innimellom» verdiene i noden *: Aka. «multi-way search tree», «n-ært søketre» **: Begrepet orden for et søketre er ikke entydig definert i litteraturen
3 Et flerveis søketre av orden 4
4 Ordning av et flerveis søketre En node med p barn/subtrær har p 1 verdier Verdier: K1, K2,..., Kp 1 Subtrær: S1, S2,..., Sp Verdiene internt i en node er sortert stigende: K1 K2... Kp 2 Kp 1 Subtrærne er sortert slik at: Alle verdier i S1 er mindre enn K1 Alle verdier i Si er større eller lik Ki 1 og mindre enn Ki, i = 2, 3, 4,..., p 1 Alle verdier i Sp er større eller lik Kp 1
5 p=4 S1 S2 S3 S4 Keys < K1 K1 Keys < K2 K2 Keys < K3 K3 Keys
6 Flerveis søketre av orden 5 Merk at nodene kan ha flere tomme subtrær
7 Søking i flerveis søketre Samme prinsipp som for binært søketre Følger en vei fra roten og nedover i treet I hver node sjekker vi om verdien vi søker er lik, mindre eller større enn de sorterte nøkkelverdiene i noden Går videre fra en node til det subtreet der verdien skal ligge, hvis den finnes i treet
8 Effektivitet av flerveis søketre Søking, innsetting og fjerning har arbeidsmengde proporsjonal med høyden av treet Høyden av et flerveis søketre av orden m avhenger av: Om treet er balansert Hvor fulle nodene er, dvs. hvor mange verdier som er lagret i hver node (maksimalt m - 1) Hvis treet er balansert og nodene er godt fylt opp, er søking og innsetting meget raskt
9 B-tre* Et flerveis, selv-balanserende søketre Bayer / McCreight: "Organization and Maintenance of Large Ordered Indexes", Acta Informatica (1972) Et B-tre er alltid perfekt balansert Nodene i treet er minst halvveis fylt opp med verdier B-trær av svært høy orden brukes ofte i databasesystemer og filsystemer Garanterer O(log n) oppførsel for søking, innsetting og fjerning *: B?
10 Definisjon av B-tre Et B-tre av orden m er et flerveis søketre der: Roten er enten et blad eller har minst to subtrær Alle noder (unntatt roten) inneholder minst m/2 verdier og maksimalt m - 1 verdier En node med k verdier har enten 0 barn (en bladnode) eller k + 1 barn (indre node) Alle bladnoder ligger på samme nivå i treet
11 B-tre av orden 5
12 B-tre av orden 5
13 De to øverste nivåene i et B-tre av orden 11
14 Effektivitet, B-tre av orden 201 Antall noder og verdier i hvert nivå i treet: Min. antall noder Min. antall verdier Maks. antall noder Nivå Maks. antall verdier
15 Søking i B-trær «An algorithm for finding a key in B-tree is simple. Start at the root and determine which pointer to follow based on a comparison between the search value and key fields in the root node. Follow the appropriate pointer to a child node. Examine the key fields in the child node and continue to follow the appropriate pointers until the search value is found or a leaf node is reached that doesn't contain the desired search value»
16 Vekst av B-trær Kravet om at alle blader skal være på samme nivå gir en karakteristisk oppførsel for B-trær B-trær vokser ikke «nedover» ved at de får nye blader, som ved innsetting i binære søketrær Istedet vokser de «oppover» ved at de får ny rot hver gang antall nivåer i treet øker med 1
17 Innsetting av ny verdi i B-tre En ny verdi settes inn i eksisterende bladnode Når en bladnode er full deles den i to, og en verdi sendes «oppover» i treet Demo av innsetting i B-tre av orden 3, med maksimalt 2 verdier og 3 barn per node Innsetting er alltid O(log n)
18 Algoritme for innsetting i B-tre Finn bladnoden der ny verdi skal settes inn Hvis bladnoden ikke er full: Sett inn ny verdi sortert i bladnoden Ellers, hvis bladnoden er full av verdier: Del bladnoden i to noder, med halvparten av verdiene i hver node Send midterste verdi et nivå oppover for innsetting i foreldernoden Hvis foreldernoden også blir full, fortsettes sending av verdier oppover i treet på samme måte
19 Eksempel: Innsetting i B-tre av orden 5
20 Etter innsetting av 395
21 Etter innsetting av 382
22 Etter innsetting av 490
23 Fjerning av verdi i B-tre Kan resultere i noder med for få verdier (< m/2) Vil lage et «hull» i strukturen hvis verdien som fjernes er i en indre node Algoritmen for fjerning «reparerer» treet med: Flytting av verdier mellom noder (aka rotasjoner) Sammenslåinger (merging) av to noder til én ny node Fjerning av verdier er vist i læreboka for B-trær med orden m = 3 (se avsnitt 14.2) Fjerning i B-trær er relativt «fiklete», med flere spesialtilfeller, men er alltid O(log n)
24 Representasjon av B-tre med pekere En node i et B-tre av orden m kan representeres med et klasseobjekt med to arrayer: En array av lengde m med pekere til barna En sortert array av lengde m 1 med verdier I tillegg må hver node holde rede på antall verdier som er lagret i noden Tilgang til hele treet gjennom en peker til roten
25 Representasjon av B-tre med array B-trær brukes ofte til å håndtere data som er lagret i sekundærminnet (typisk på disk) Fungerer i praksis dårlig med «pekere» (diskadresser) i noder som ligger spredt rundt i sekundærminnet Det er derfor vanlig i stedet å representere hele B-treet som én lang array: Arrayen er delt opp et stort antall like lange segmenter Hvert segment lagrer data for én node «Pekerne» til barna er bare indekser i arrayen
26 B-trær og sekundærminne Hvis datamengdene er for store til å få plass i RAM, må de flyttes frem og tilbake mellom RAM og disk (paging) Lesing og skriving til/fra disk/sekundærminne er flere tusen ganger tregere enn å lese/skrive RAM Disker leses og skrives derfor i store «datablokker» for å øke effektiviteten, typisk blokkstørrelse er 4 KBytes B-trær lages slik at antall diskaksesser minimeres: Størrelsen på en node tilpasses blokkstørrelsen i filsystemet, slik at alle dataene i noden kan håndteres med bare én read/write-operasjon
27 To vanlige varianter av B-trær B* - trær: Utnytter plassen på hvert nivå i treet bedre B+ - trær: Gjør traversering av treet mer effektivt
28 B* - trær B*-treet har alle egenskapene til et B-tre, men: I et B-tre av orden m har alle noder minst m/2 verdier I et B*-tre av orden m har alle noder minst 2 m/3 verdier Flere verdier i hver node betyr færre nivåer i treet Algoritmene for innsetting og fjerning er forskjellige: I stedet for å dele en node i to med en gang den er full, flyttes verdier over til søskennoder Når to søskennoder er fulle av verdier, deles de i tre nye noder
29 Traversering av B-trær En sortert gjennomgang av alle dataene lagret i et B-tre kan gjøres med inorder traversering Hver node må oppsøkes opptil m + 1 ganger i løpet av en traversering av B-treet Hvis deler av B-treet ligger utenfor RAM, blir dette svært lite effektivt, med mye lesing av data fra disk B+ - trær løser dette problemet
30 + B - trær Alle nøkkelverdier i indre noder lagres en gang til som sin egen inorder etterfølger i en bladnode Alle bladnodene lenkes sammen med «pekere» for å kunne gå gjennom alle dataene sortert med minimalt antall diskaksesser Lagrer bare nøkkelverdier inne i treet Bruker et ekstra lag med noder på nederste nivå som inneholder pekere til selve dataobjektene
31 Eksempel: B+ - tre
32 Eksempel: B+- tre
33 Eksempel: B+- tre
Flerveis søketrær og B-trær
Flerveis søketrær og B-trær Flerveis (multi-way, n-ært) søketre Generalisering av binært søketre Binært søketre: Hver node har maksimalt 2 barn og 1 nøkkelverdi. Barna ligger sortert på verdi i forhold
Et eksempel: Åtterspillet
Trær Et eksempel: Åtterspillet To spillere som «trekker» annenhver gang I hvert trekk velges et av tallene 1, 2, 3, men ikke tallet som motspiller valgte i forrige trekk Valgte tall summeres fortløpende
Definisjon. I et binært tre har hver node enten 0, 1 eller 2 barn
Binære trær Definisjon I et binært tre har hver node enten 0, 1 eller 2 barn Rekursiv definisjon: Et binært tre er enten tomt, eller: Består av en rotnode og to binære trær som kalles venstre subtre og
ALGORITMER OG DATASTRUKTURER
Eksamen i ALGORITMER OG DATASTRUKTURER Høgskolen i Østfold Avdeling for Informatikk og Automatisering Onsdag 11.desember, 1996 Kl. 9.00-15.00 Tillatte hjelpemidler: Alle trykte og skrevne. Kalkulator.
Definisjon av binært søketre
Binære søketrær Definisjon av binært søketre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større
Definisjon: Et sortert tre
Binære søketrær Definisjon: Et sortert tre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større
Et eksempel: Åtterspillet
Trær Et eksempel: Åtterspillet To spillere som «trekker» annenhver gang I hvert trekk velges et av tallene 1, 2, 3, men ikke tallet som motspiller valgte i forrige trekk Valgte tall summeres fortløpende
Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2
Delkapittel 9.2 Rød-svarte og 2-3-4 trær Side 1 av 16 Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2 9.2 Rød-svarte og 2-3-4 trær 9.2.1 B-tre av orden 4 eller 2-3-4 tre Et rød-svart tre og et
Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.1
Delkapittel 9.1 Generelt om balanserte trær Side 1 av 13 Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.1 9.1 Generelt om balanserte trær 9.1.1 Hva er et balansert tre? Begrepene balansert og
INF2220: Forelesning 2
INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre
INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)
INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre
Repetisjon: Binære. Dagens plan: Rød-svarte trær. Oppgave (N + 1)!
Repetisjon: Binære søketrær Dagens plan: Rød-svarte trær (kap. 12.2) B-trær (kap. 4.7) bstrakte datatyper (kap. 3.1) takker (kap. 3.3) For enhver node i et binært søketre gjelder: lle verdiene i venstre
Heap* En heap er et komplett binært tre: En heap er også et monotont binært tre:
Heap Heap* En heap er et komplett binært tre: Alle nivåene i treet, unntatt (muligens) det nederste, er alltid helt fylt opp med noder Alle noder på nederste nivå ligger til venstre En heap er også et
Heap og prioritetskø. Marjory the Trash Heap fra Fraggle Rock
Heap og prioritetskø Marjory the Trash Heap fra Fraggle Rock Binær heap En heap er et komplett binært tre: Alle nivåene i treet, unntatt (muligens) det nederste, er alltid helt fylt opp med noder Alle
Binære trær: Noen algoritmer og anvendelser
Binære trær: Noen algoritmer og anvendelser Algoritmer / anvendelser: Søking i usortert binært tre Telling av antall noder og nivåer i treet Traversering av binære trær Binære uttrykkstrær Kunstig intelligens(?):
Lars Vidar Magnusson
B-Trær Lars Vidar Magnusson 5.3.2014 Kapittel 18 B-trær Standard operasjoner Sletting B-Trær B-trær er balanserte trær som er designet for å fungere bra på sekundære lagringsmedium e.g. harddisk. Ligner
Lars Vidar Magnusson
Binære Søketrær Lars Vidar Magnusson 14.2.2014 Kapittel 12 Binære Søketrær Søking Insetting Sletting Søketrær Søketrær er datastrukturer som støtter mange dynamiske sett operasjoner. Kan bli brukt både
INF2220: Forelesning 2
INF2220: Forelesning 2 Mer om analyse av algoritmer Analyse av binære søketrær Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) ANALYSE AV ALGORITMER 2 Analyse av tidsforbruk Hvor
Binær heap. En heap er et komplett binært tre:
Heap Binær heap En heap er et komplett binært tre: Alle nivåene i treet, unntatt (muligens) det nederste, er alltid helt fylt opp med noder Alle noder på nederste nivå ligger så langt til venstre som mulig
Dagens plan: INF2220 - Algoritmer og datastrukturer. Repetisjon: Binære søketrær. Repetisjon: Binære søketrær
Dagens plan: INF2220 - lgoritmer og datastrukturer HØTEN 2007 Institutt for informatikk, Universitetet i Oslo (kap. 4.7) (kap. 12.2) Interface ollection og Iterator (kap. 3.3) et og maps (kap. 4.8) INF2220,
UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.
UNIVERSITETET IOSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 22.2.2011
Trær. En datastruktur (og abstrakt datatype ADT)
Trær Trær En datastruktur (og abstrakt datatype ADT) Trær En datastruktur (og abstrakt datatype ADT) En graf som 8lfredss8ller bestemte krav Object [] int [] tall array element 0 1 2 3 4 5 0 1 2 3 4 5
Korteste vei i en vektet graf uten negative kanter
Dagens plan: IN - Algoritmer og datastrukturer HØSTEN 7 Institutt for informatikk, Universitetet i Oslo IN, forelesning 7: Grafer II Korteste vei, en-til-alle, for: Vektet rettet graf uten negative kanter
PG4200 Algoritmer og datastrukturer Forelesning 7
PG4200 Algoritmer og datastrukturer Forelesning 7 Lars Sydnes, NITH 19. mars 2014 I. TERMINOLOGI FOR TRÆR TRÆR Lister: Lineære Trær: Hierarkiske Modell / Språk: Bestanddeler: Noder, forbindelser. Forbindelse
Selv-balanserende søketrær
Selv-balanserende søketrær Georgy Maksimovich Adelson-Velsky Evgenii Mikhailovich Landis Søketrær og effektivitet O(log n) effektivitet av binære søketrær kan ikke garanteres Treet til venstre har høyde
Ny/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 5. januar 2018 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
Binære søketrær. Et notat for INF1010 Stein Michael Storleer 16. mai 2013
Binære søketrær Et notat for INF Stein Michael Storleer 6. mai 3 Dette notatet er nyskrevet og inneholder sikkert feil. Disse vil bli fortløpende rettet og datoen over blir oppdatert samtidig. Hvis du
Kap.12. Flervegssøketre. Studerer 2-3 og 2-4 trær. Sist oppdatert
Kap.12 Flervegssøketre Sist oppdatert 12.04.10 Studerer 2-3 og 2-4 trær Motivasjon n maks = antall elementer i et fullt binært tre med nivåer 0 k ; (en node har ett element) n maks = 2 0 + 2 1 + + 2 k
Filsystemet fra innsiden
Filsystemet i Linux Filsystemet fra innsiden Har tidligere sett kommandoer for håndtering av filer i Linux filsystemet sett fra utsiden Skal nå se på filsystemet fra innsiden : Hvordan er filsystemet i
MAT1030 Forelesning 30
MAT1030 Forelesning 30 Kompleksitetsteori Roger Antonsen - 19. mai 2009 (Sist oppdatert: 2009-05-19 15:04) Forelesning 30: Kompleksitetsteori Oppsummering I dag er siste forelesning med nytt stoff! I morgen
EKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 28. mai 2018 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
Lars Vidar Magnusson Kapittel 13 Rød-Svarte (Red-Black) trær Rotasjoner Insetting Sletting
Rød-Svarte Trær Lars Vidar Magnusson 21.2.2014 Kapittel 13 Rød-Svarte (Red-Black) trær Rotasjoner Insetting Sletting Rød-Svarte Trær Rød-Svarte trær (red-black trees) er en variasjon binære søketrær som
Anvendelser av grafer
Grafer Anvendelser av grafer Passer for modeller/datastrukturer med usystematiske forbindelser Ikke-lineære og ikke-hierarkiske koblinger mellom dataobjektene Modellering av nettverk: Veisystemer/rutekart
Algoritmer og Datastrukturer
Eksamen i Algoritmer og Datastrukturer IAI 20102 Høgskolen i Østfold Avdeling for informatikk og automatisering Lødag 5. juni 2004, kl. 09.00-13.00 LØSNINGSFORSLAG 1 Del 1 60% Oppgave 1.1-10% Forklar kort
NyGIV Regning som grunnleggende ferdighet
NyGIV Regning som grunnleggende ferdighet Yrkesfaglærere Hefte med utdelt materiell Tone Elisabeth Bakken 3.april 2014 På denne og neste fire sider er det kopier fra Tangentens oppgavehefte: MATEMATISKE
Hashing: Håndtering av kollisjoner
Hashing: Håndtering av kollisjoner Innsetting av dataelement i hashtabell Algoritme: 1. Bruk en hashfunksjon til å beregne hashverdi basert på dataelementets nøkkelverdi 2. Sett inn dataelementet i hashtabellen
Algoritmeanalyse. (og litt om datastrukturer)
Algoritmeanalyse (og litt om datastrukturer) Datastrukturer definisjon En datastruktur er den måten en samling data er organisert på. Datastrukturen kan være ordnet (sortert på en eller annen måte) eller
EKSAMEN med løsningsforslag
EKSAMEN med løsningsforslag Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer:
Liste som abstrakt konsept/datatype
Lister Liste som abstrakt konsept/datatype Listen er en lineær struktur (men kan allikevel implementeres ikke-lineært bak kulissene ) Hvert element har en forgjenger, unntatt første element i listen Hvert
Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først
Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid
Tallet 0,04 kaller vi prosentfaktoren til 4 %. Prosentfaktoren til 7 % er 0,07, og prosentfaktoren til 12,5 % er 0,125.
Prosentregning Når vi skal regne ut 4 % av 10 000 kr, kan vi regne slik: 10 000 kr 4 = 400 kr 100 Men det er det samme som å regne slik: 10 000 kr 0,04 = 400 kr Tallet 0,04 kaller vi prosentfaktoren til
Forelesning 9 mandag den 15. september
Forelesning 9 mandag den 15. september 2.6 Største felles divisor Definisjon 2.6.1. La l og n være heltall. Et naturlig tall d er den største felles divisoren til l og n dersom følgende er sanne. (1) Vi
Ordliste. Obligatorisk oppgave 1 - Inf 1020
Ordliste. Obligatorisk oppgave 1 - Inf 1020 I denne oppgaven skal vi tenke oss at vi vil holde et register over alle norske ord (med alle bøyninger), og at vi skal lage operasjoner som kan brukes til f.
Søkeproblemet. Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke?
Søking Søkeproblemet Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke? Effektiviteten til søkealgoritmer avhenger av: Om datastrukturen
Algoritmer - definisjon
Algoritmeanalyse Algoritmer - definisjon En algoritme er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede
INF2220: Time 12 - Sortering
INF0: Time 1 - Sortering Mathias Lohne mathialo Noen algoritmer Vi skal nå se på noen konkrete sorteringsalgoritmer. Gjennomgående i alle eksempler vil vi sortere tall etter tallverdi, men som diskutert
Fra Kap.10 Binære søketre (BS-tre) Sist oppdatert 20.03.10 Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes
Fra Kap.10 Binære søketre (BS-tre) Sist oppdatert 20.03.10 Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes til å løse problemer. Undersøke ulike implementasjoner
Algoritmer og Datastrukturer
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 3. november 2, kl. 9. - 14. Hjelpemidler: Alle trykte og skrevne hjelpemidler. Kalkulator.
Forelesning 28: Kompleksitetsteori
MAT1030 Diskret Matematikk Forelesning 28: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 28: Kompleksitetsteori 12. mai 2009 (Sist oppdatert: 2009-05-13
Datastrukturer for rask søking
Søking Søkeproblemet Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke? Effektiviteten til søkealgoritmer avhenger av: Om datastrukturen
EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Kalkulator Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først
Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid
Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først
Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid
Kap 9 Tre Sist oppdatert 15.03
Kap 9 Tre Sist oppdatert 15.03 Definere et tre som en datastruktur. Definere begreper knyttet til tre. Diskutere mulige implementasjoner av tre Analysere implementasjoner av tre som samlinger. Diskutere
TMA4140 Diskret matematikk Høst 2011 Løsningsforslag Øving 7
Norges teknisknaturvitenskapelige universitet Institutt for matematiske fag Side 1 av?? TMA4140 Diskret matematikk Høst 011 Løsningsforslag Øving 7 7-1-10 a) Beløpet etter n 1 år ganges med 1.09 for å
IN Algoritmer og datastrukturer
IN2010 - Algoritmer og datastrukturer HØSTEN 2018 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 3: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2010 H2018, forelesning
NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013
NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 20 ette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. et er altså ikke et eksempel
G høgskolen i oslo. Emne: Algoritmer og datastrukturer. Emnekode: 80131A. Faglig veileder: UlfUttersrud. Gruppe(r) : Dato: 09.12.
G høgskolen i oslo Emne: Algoritmer og datastrukturer Emnekode: 80131A Faglig veileder: UlfUttersrud Gruppe(r) : Dato: 09.12.2004 Eksamenstid: 9-14 Eksamensoppgaven består av: Tillatte hjelpemidler Antall
Labyrint Introduksjon Scratch Lærerveiledning. Steg 1: Hvordan styre figurer med piltastene
Labyrint Introduksjon Scratch Lærerveiledning Introduksjon I dette spillet vil vi kontrollere en liten utforsker mens hun leter etter skatten gjemt inne i labyrinten. Dessverre er skatten beskyttet av
Sorteringsproblemet. Gitt en array A med n elementer som kan sammenlignes med hverandre:
Sortering Sorteringsproblemet Gitt en array A med n elementer som kan sammenlignes med hverandre: Finn en ordning (eller permutasjon) av elementene i A slik at de står i stigende (evt. avtagende) rekkefølge
Notater til INF2220 Eksamen
Notater til INF2220 Eksamen Lars Bjørlykke Kristiansen December 13, 2011 Stor O notasjon Funksjon Navn 1 Konstant log n Logaritmisk n Lineær n log n n 2 Kvadratisk n 3 Kubisk 2 n Eksponensiell n! Trær
Heapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer
Heapsort Lars Vidar Magnusson 24.1.2014 Kapittel 6 Heaps Heapsort Prioritetskøer Sorterings Problemet Sorterings problemet er et av de mest fundementalske problemene innen informatikken. Vi sorterer typisk
MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7.
MAT1030 Diskret matematikk Forelesning 29: Dag Normann KAPITTEL 13: Matematisk Institutt, Universitetet i Oslo 7. mai 2008 MAT1030 Diskret matematikk 7. mai 2008 2 Meldinger: Det blir hovedsaklig tavleregning
Repetisjon: høydepunkter fra første del av MA1301-tallteori.
Repetisjon: høydepunkter fra første del av MA1301-tallteori. Matematisk induksjon Binomialteoremet Divisjonsalgoritmen Euklids algoritme Lineære diofantiske ligninger Aritmetikkens fundamentalteorem Euklid:
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2017 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2017, forelesning
Generelt om permanent lagring og filsystemer
Generelt om permanent lagring og filsystemer Filsystem Den delen av OS som kontrollerer hvordan data lagres på og hentes frem fra permanente media Data deles opp i individuelle deler, filer, som får hvert
INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )
INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel 4.1-4.3 + 4.6) PRAKTISK INFORMASJON 2 Praktisk informasjon Kursansvarlige Ragnhild Kobro Runde ([email protected])
PQ: HEAP. Heap. Er disse heap er? Hvordan implementere heap:
PQ: HEAP Ingen sammenheng med memory heap Definisjon og data-invarianter for heap InsertKey og RemoveMin for heap Kompleksitet for operasjoner: O(log n) Prioritetskø impl vha Heap Heap En heap er et binært
Mesteparten av kodingen av Donkey Kong skal du gjøre selv. Underveis vil du lære hvordan du lager et enkelt plattform-spill i Scratch.
Donkey Kong Ekspert Scratch Introduksjon Donkey Kong var det første virkelig plattform-spillet da det ble gitt ut i 1981. I tillegg til Donkey Kong var det også her vi første gang ble kjent med Super Mario
INF2220: Time 4 - Heap, Huffmann
INF0: Time 4 - Heap, Huffmann Mathias Lohne mathialo Heap (prioritetskø) En heap (også kalt prioritetskø) er en type binært tre med noen spesielle struktur- og ordningskrav. Vi har to typer heap: min-
Oppgave 1 LØSNINGSFORSLAG. Eksamen i INF desember Betrakt følgende vektede, urettede graf:
INF100 Algoritmer og datastrukturer INF100 Algoritmer og datastrukturer Oppgave 1 LØSNINGSFORSLAG Betrakt følgende vektede, urettede graf: V 1 V Eksamen i INF100 1. desember 004 V V 4 V 4 V V Ragnar Normann
Hva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen
Lister Hva er en liste? Listen er en lineær datastruktur Hvert element har en forgjenger, unntatt første element i listen Hvert element har en etterfølger, unntatt siste element i listen I motsetning til
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning
Preken 14. august 2016 13. s i treenighet Kapellan Elisabeth Lund. Tekst: Joh. 15, 13-17
Preken 14. august 2016 13. s i treenighet Kapellan Elisabeth Lund Tekst: Joh. 15, 13-17 I dag har vi fått høre en prekentekst som handler om kjærlighet, om å bli kalt venner og om å bære frukt. Den er
Hva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen
Lister Hva er en liste? Listen er en lineær datastruktur Hvert element har en forgjenger, unntatt første element i listen Hvert element har en etterfølger, unntatt siste element i listen I motsetning til
Databasedesign HVA? ???? HVORDAN? E/R diagram. Begrepsmessig databasedesign. Logisk databasedesign. Tabeller. Fysisk databasedesign
Databasedesign HVA? Begrepsmessig databasedesign E/R diagram Logisk databasedesign Tabeller HVORDAN? Fysisk databasedesign???? Databaser Leksjon 9: Fysisk databasedesign - 1 Fysisk databasedesign Fysiske
Fortsettelses kurs i Word
Fortsettelses kurs i Word Lynkurs fra Kristiansand folkebibliotek Innholdsfortegnelse Formål med dagens kurs... 2 Sette inn forsider... 2 Sette inn tabeller... 2 Topptekst Bunntekst Sidetall... 2 Sett
Binære søketrær. En ordnet datastruktur med raske oppslag. Sigmund Hansen
Binære søketrær En ordnet datastruktur med raske oppslag Sigmund Hansen Lister og trær Rekke (array): 1 2 3 4 Lenket liste (dobbelt-lenket): 1 2 3 4 Binært søketre: 3 1 4 2 Binære
Vi skal se på grafalgoritmer for:
Grafalgoritmer Vi skal se på grafalgoritmer for: Traversering: Oppsøk alle nodene i grafen en og bare en gang, på en eller annen systematisk måte Nåbarhet: Finnes det en vei fra en node til en annen node?
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning
EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2008 kl 09.00 til kl 13.00 Hjelpemidler: 4 A4-sider (2 ark) med valgfritt innhold Kalkulator Faglærer: Mari-Ann
Tyngdekraft og luftmotstand
Tyngdekraft og luftmotstand Dette undervisningsopplegget synliggjør bruken av regning som grunnleggende ferdighet i naturfag. Her blir regning brukt for å studere masse, tyngdekraft og luftmotstand. Opplegget
Oppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b
Oppgave 1 1 a INF1020 Algoritmer og datastrukturer Forelesning 14: Gjennomgang av eksamen vår 2001 oppgave 1,2,4 Arild Waaler Institutt for informatikk, Universitetet i Oslo Oppgave 1 a Programmer en ikke-rekursiv
Høyder på elliptiske kurver og faktorisering. Kristian Gjøsteen, NTNU Oppdatert 1. november 2002
Høyder på elliptiske kurver og faktorisering Kristian Gjøsteen, NTNU Oppdatert 1. november 2002 2 Lenstras faktoriseringsalgoritme Faktoriseringsproblemet: n = p α 1 1 pα K K skal faktoriseres. Lenstras
UNIVERSITETET I OSLO
1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 115 Eksamensdag : Lørdag 20 mai, 2000 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg : Intet. Tillatte
INF2220: Forelesning 3
INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) REPETISJON: ALGORITMER OG STOR O 2 REPETISJON RØD-SVARTE TRÆR 7 Rød-svarte trær Et rød-svart
Balanserte binære søketrær
Balanserte trær Balanserte binære søketrær Balanserte binære søketrær høyden (l treet er O(log 2 n) AVL trær rød-svarte trær svake AVL trær splaytrær heaps AVL trær rød-svarte trær svake AVL trær splaytrær
