DBS16: Disklagring, filstrukturer, hashing

Størrelse: px
Begynne med side:

Download "DBS16: Disklagring, filstrukturer, hashing"

Transkript

1 Side 1 for Databaser DBS16: Disklagring, filstrukturer, hashing onsdag 11. mai Pensum: Kapittel , side , men ikke fra dynamic hashing og forover Introduksjon Minnehierarki og lagringsmedium Beskriver forskjellige typer lagring (primær, sekundær og tertiær) Lagringsstruktur til databaser Databaser lagrer data permanent på disk, og dette kalles persistent data. Why? For mye data til å lagres i hovedminnet, minnet er ikkevolatilt, og det er 1000 billigere. Primær filstruktur, hvordan postene fysisk er lagret på disk: En heapfil plasserer postene (records) i tilfeldig rekkefølge, etter hverandre (append). I en sortert fil blir postene sortert etter en verdi (for eksempel en av attributtene). En hashfil bruker en hashfunksjon til å bestemme hvor i fila postene skal ligge. Andre typer filer: Trestrukturer, Btrær. Sekundær struktur gir mulighet for å effektivt få tilgang til postert basert på andre felter enn de som er brukt i den primære filorganisasjonen Sekundære lagringsmedium Hardwarebeskrivelse av diskenheter Beskriver hvordan en magnetisk disk er satt opp (veeeldig teknisk), se denne:

2 Side 2 for Databaser Data lagret på samme sylinder går mye fortere å hente opp, enn om dataen er distribuert på forskjellige sylindere: Når man leser fra eller skriver til en harddisk, leses eller skrives en blokk til eller fra minnet av gangen. Det er også mulig å lese inn flere blokker, og dette kalles et cluster. En blokk er en del av en sirkel, kalt en track (der sirkler oppå hverandre danner en sylinder) så tracks er delt opp i blokker, med noe greier i mellom kalt interblock gaps. Blokker har en fast størrelse som blir satt ved diskformattering. Skrive til/lese fra: Søketid + roteringsforsinkelse + blokkoverføring Det som tar tid er søketiden (tiden det tar å flytte armen til riktig sylinder) og roteringsforsinkelsen (tiden det tar å rotere disken til riktig posisjon under armen). Til sammenligning tar det ikke så lang tid å overføre blokken, derfor er det vanlig med filstrukturer der relatert data ligger på samme sylinder eller track. Typisk tid ligger fra 9 til 60 millisekunder, og er den store flaskehalsen i databaseapplikasjoner Teknikker for å gjøre dataaksess mer effektivt Buffering av data, ny data legges i minnet mens gammel data prosesseres. Relatert data ligger på etterfølgende blokker, og hvis det trengs flere sylindere trengs, brukes etterfølgende sylindere. Innlesing av data før forespørsel hvis en blokk blir lest, blir etterfølgende blokker også lest. Fungerer bra for applikasjoner som antageligvis vil lese etterfølgende blokker. Hvis flere blokker skal leses, gjøres dette på en måte slik at total aksesstid blir minimert, for eksempel ved at armen slipper å bevege seg fram og tilbake. Bruk av loggdisker som kan holde på skrevet informasjon midlertidig alle blokker som skal skrives til disk, blir skrevet til loggdisken, og deretter til harddisken. Bruk av SSDer eller flashminne for gjenoppretting: data skrives til SSD eller flashminne under kjøring av applikasjon, og når disken "ikke har noe å gjøre", skrives dataen fra SSD eller flashminne og til disken.

3 Side 3 for Databaser SSDer Senere trend er å bruke SSD et mellomlag mellom minnet og HDD (magnetisk tape). Går mye fortere. Er mye dyrere Magnetisk tape Magnetisk tape har ikke tilfeldig aksess, men sekvensiell aksess, så det går kjeeempetreigt. Men veldig mye data kan lagres på magnetisk tape, så det er typisk brukt som backup databaser blir regelmessig skrevet til tape, skulle disken bli ødelagt. Noen applikasjoner bruker også tre disker der hele databasen blir lagret, og bytter mellom disse tre, slik at en disk blir brukt som backup. Det kan også funke å lagre databaser som sjelden blir brukt eller som blir lagret av historiske grunner på magnetisk tape Bufring av blokker Hvis flere blokker skal leses inn i minne, og alle blokkadresser er kjente, kan flere buffer bli reservert i hovedminne for å få det til å gå fortere. Bufring er mest effektivt hvis det kan kjøres parallelt med prosesseringen av dataen, altså hvis det eksisterer flere prosessorer eller en separat disk I/Oprosessor. Da kan prosessoren begynne med prosessering av data, samtidig som (for eksempel) I/Oprosessoren leser inn neste blokk. Dette kalles dobbel bufring Bufferbehandling Buffer en del av hovedminnet som er ledig og kan motta blokker fra disk. Bufferbehandling er en del av et databasehåndteringssystem (DBMS), som svarer på forespørsler om data og bestemmer hvilke buffer i minnet som skal brukes. Det er to typer bufferbehandlere en som behandler buffer i hovedminnet og en som behandler buffer i virtuelt minne, slik at kontrollen kan overføres til operativsystemet. Målet til en bufferbehandler er å 1) Maksimere sannsynligheten for at en blokk ligger i minnet 2) Hvis bufferet er fullt, så må en blokk i minnet erstattes, som er lite sannsynlig at skal brukes igjen. Informasjon som en bufferbehandler holder styr på: 1) Pincount: Antall ganger en blokk har blitt spurt etter, eller antallet brukere som bruker blokken. Pinning er å inkrementere pincounten. En unpinned blokk har pincount lik 0. 2) En dirty bit som initielt er satt til 0, og blir satt til 1 hvis en blokk blir oppdatert. Når bufferbehandleren fjerner blokker fra bufferet, sjekker den at blokken er unpinned, og hvis dirty bit er 1, skrives blokken tilbake til disk. Hvis dirty bit er 0 trenger den ikke skrive blokken tilbake. Hvis det ikke er noen unpinned blokker i bufferet, så bufferbehandleren vente. En transaksjon går da enten i ventemodus, eller så kan den aborteres Buffererstatningsstrategier 1) LRU, least recently used. Kaster ut blokken som har vært i

4 Side 4 for Databaser 2) 3) bufferet lengst. Trenger å opprettholde en tabell for når blokker er brukt sist. Klokkepolicy, s. 559 Først in, først ut, FIFO: Blokken som har vært i bufferet lengst blir kastet ut Plassere filposter på disk Poster og posttyper Data er lagret i form av poster, der hver post er en samling av relaterte dataverdier eller elementer. En samling med feltnavn og deres korresponderende datatyper gir en posttype eller postformatdefinisjon. Forskjellige datatyper: Int, long int, float, string, boolean, date, time, BLOB (binary laarge object, for eksempel bilder, video ) Filer, fast postlengde og variabel postlengde En fil er en sekvens med poster. Ofte er alle poster i en fil av samme posttype. Fast postlengde: Alle poster i filen har samme lengde Variabel postlengde: Poster i filen kan ha forskjellig lengde. Grunner til at poster har variabel lengde: Felter kan ha variabel lengde Bruke spesielle separatortegn Lagre lengden av feltet før verdien. Noen felter kan ha flere verdier for enkelte poster <feltnavn, feltverdi> I stedet for feltnavn, kan vi bruke felttype som er et heltall. Noen felter i en post er valgfrie En separator for de repeterende verdiene i feltet, og en separator for å indikere at feltet er slutt. Filen inneholder forskjellige posttyper Hver post er innledet av en posttypeindikator. Kan også lagre poster med variabel lengde slik at alle har fast lengde ved å bruke nullverdier men dette er bortkastet plass Postblokkering og spredte vs. samlede poster Blokkfaktor: B er størrelsen til blokken, R er størrelsen til postene (der postene fast postlengde) Spredte poster (spanned records): Når en post er spredt utover flere blokker. Dette må brukes hvis posten er større enn blokken. Hvis ikke etterfølgende blokk er brukt, må det være en peker til neste blokk. Samlede poster (unspanned records): Når det ikke er tillatt at poster "krysser blokkgrenser". Dette brukes for poster med fast postlengde, da det gjør postprosessering enklere. Med poster som har variabel postlengde kan begge metoder brukes.

5 Side 5 for Databaser Med variabel postlengde kan det være forskjellig antall poster i hver blokk, slik at bfr refererer til gjennomsnitts antall poster per blokk Tilordning av blokker til disk Sammenhengende tilordning (contiguous allocation): Filblokker blir lagt på etterfølgende diskblokker Lenket tilordning: Hver filblokk har en peker til diskblokken der neste filblokk ligger. Indeksert tilordning: En eller flere indeksblokker har pekere til de faktiske filblokkene Filheadere En filheader har informasjon systemprogrammene trenger for å få tilgang til filpostene. Dette inkluderer informasjon om diskadressene til filblokkene, og beskrivelser av posttypene (for eksempel separatorer, feltlengder, rekkefølgen til felt, osv) Filoperasjoner Man kan dele opp i to typer operasjoner: Gjenfinningsoperasjoner og oppdateringsoperasjoner. Førstnevnte gjør ingen endringer på dataene, der sistnevnte kan gjøre endringer i form av innsetting, sletting og endring. Liste med forskjellig type operasjoner på side Skiller mellom filstruktur, hvordan data er organisert i blokker og aksessmetoder, som gir en gruppe metoder som kan brukes på en fil. Merk at ikke alle filstrukturer passer bra til alle typer metoder. Man må planlegge filstrukturen etter hvilke aksessmetoder som skal brukes Heapfiler I en heapfil blir poster lagt til på slutten av filen. Det går veldig fort å sette inn poster det er bare å finne siste blokk, og sette inn posten. Hvis man skal søke etter noe, og det ikke finnes noen indeksering, må man søke lineært gjennom hele filen til man finner det man søker etter. Når man sletter, må man kopiere blokken inn til bufferet, fjerne posten og deretter skrive blokken tilbake til disk. En annen måte å slette filer på, er å ha et flagg som indikerer om en post er gyldig eller ikke. Sletting krever reorganisering av filen, for at det ikke er masse tomme plasser rundt omkring i filen. Man kan bruke en spredt eller samlet struktur, og fast eller variabel postlengde. Endring av poster med variabellengde kan føre til at man må fjerne posten, og sette den inn på nytt av, for endringen kan gjøre så posten ikke lenger passer inn der den var. Hvis en fil har poster med fast postlengde, samlede blokker og sammenhengende tilordning (bruker blokker etter hverandre), så er det lett å finne postenes plassering i filen (typ ite blokk, jte post). Slike filer blir kalt direkte filer Filer med ordnede poster / sorterte filer Sorteringsfelt: Feltet postene blir sortert etter. Hvis sorteringsfeltet også er nøkkelen, så kalles den sorteringsnøkkel.

6 Side 6 for Databaser Hvis man kjører binærsøk på en sortert fil, kan man kjøre søket på blokkene i stedet for postene. Vanligvis blir log2(b) blokker aksessert ved et binærsøk. Gir ingen fordeler med tanke på tilfeldig eller ordnet aksess på poster basert på de andre feltene. Da må man utføre et lineært søk. Innsetting er tungvint: Må finne plassen der posten skal settes inn, og gjøre plass, som kan kreve at alle poster etter må flyttes "ett hakk fram". En måte å løse det på, er å ha en transaksjonsfil der nye poster blir lagt til og en mesterfil som har de sorterte dataene, så kan transaksjonsfilen og mesterfilen periodevis flettes sammen og sorteres. Dette gjør søking mer komplisert, siden det må søkes i begge filene. Kan bruke merking og periodevis omorganisering ved sletting. Endring: Kommer an på hvilket felt som blir endret og søking. Hvis man søker etter sorteringsfeltet, kan man bruke binærsøk, ellers må man bruke lineærsøk. Hvis man endrer verdien på et ikkesorteringsfelt, går dette fint, forutsatt fast postlengde. Ellers må posten slettes og settes inn på nytt. Sjeldent man bruker sorterte filer i databaser, med mindre man har en ekstra path kalt primærindeks. Hvis sorteringsfeltet ikke er en nøkkel, er det en clustered fil Filer med ordnede poster / sorterte filer En fil som er organisert basert på hashing er kalt en hashfil. Feltet som brukes til hashing, blir kalt hashfeltet, og hvis dette feltet er en nøkkel, blir det kalt hashnøkkel Intern hashing Hashing for interne filer (antar innad i filene, hashing av selve postene). Starter med å beskrive ulike typer hashfunksjoner, side Ved kollisjon kan man bruke åpen adressering (første ledige plass etter), chaining (har en peker til overflytområder) eller multiple hashing (flere hashfunksjoner, bruker neste hvis første ikke funker). Målet med en god hashingfunksjon er å fordele postene jevnt utover med minimalt av kollisjoner, og å gjøre dette samtidig som at adresseområdet er forholdsvis fullt. Det er best å ha en hashfil som er mellom 70% og 90% fullt, så hvis vi forventer r poster, bør vi velge antall lokasjoner M slik at r/m er mellom 0.7 og Ekstern hashing for diskfiler Ekstern hashing er å hashe for diskfiler. Adresseområdet er lagd av bøtter, der hver bøtte kan inneholde flere poster. En bøtte er enten en enkelt diskblokk eller et cluster av sammenhengende blokker. Kollisjon ved ekstern hashing er ikke så ille, da det kan være flere poster i samme bøtte. Men man må ta høyde for at bøtta kan bli full. I statisk hashing gjøres dette ved å ha blokker tilegnet til overflyt. Da må det opprettes pekere til disse. Rekkefølgebevarende hashfunksjoner "tar vare på" rekkefølgen. Det er ikke så mange av de.

7 Side 7 for Databaser Sletting gjøres ved å fjerne posten fra blokken, og eventuelt flytte en post tilbake fra overflytblokken. Sletting fra overflytblokker gjøres ved å bare fjerne posten, og ha en lenket liste med ubrukte plasser i overflytblokkene. Endring avhenger av hvilket felt som skal endres og søkefelt. Hvis søking går på likhet med hashfelt, kan man hashe, ellers må man søke lineært i fila. Hvis man skal gjøre endringer på hashfeltet, må det hashes på nytt og posten må potensielt flyttes, og hvis man ikke skal gjøre endringer på hashfeltet er dette trivielt Hashingteknikker som muliggjør dynamisk filutvidelse Ulempen med statisk hashing, er at adresserommet er fiksert. Det kan potensielt være mye ubrukt plass hvis det man har lite data, ellers så kan det bli for fullt. Extendible hashing: Aksesstrukturen er basert på den binære representasjonen av hashverdien. Adresserommet utvides basert på mengden poster som hashes. Global dybde beskriver hvor mange adresser som finnes, typ 2global dybde (trenger ikke nødvendigvis adresseres til like mange blokker, flere adresser kan peke på samme blokk). Lokal dybde beskriver hvor mange bits som skal vurderes for hver bøtte. Hvis en bøtte blir full, inkrementeres den lokale dybden med én, og man legger til en ekstra bøtte. Hvis det skjer flere slettinger, kan den lokale dybden dekrementeres. Beskriver hvordan dette funker, side Fordelene med extendible hashing er at ytelsen ikke faller selv om filen blir større, i motsetning til statisk hashing, der kollisjoner og antall blokkaksesser øker. I tillegg trenger man ikke forhåndsreservere blokker. Plassen som trenges for å opprettholde adressetabellen er neglisjerbar. Splitting av blokker tar heller ikke så mye tid, siden det bare er postene i blokken som ble splittet som må distribueres på nytt. Det som kan ta litt tid er dobling eller halvering av adressetabellen. Ulemper er at man må søke i adressetabellen før man kan finne riktig bøtte, noe som resulterer i to blokkaksesser, men dette er ikke så ille.

DBS18 - Strategier for Query-prosessering

DBS18 - Strategier for Query-prosessering Side 1 for Databaser DBS18 - Strategier for Query-prosessering søndag 22. mai 2016 13.03 Pensum 18.1-18.4, side 655-674, unntatt 18.4.4 og 18.4.5 En spørring som blir skrevet i et høynivå-språk, må bli

Detaljer

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache Dagens temaer Dagens emner er hentet fra Englander kapittel side 338-35 (gammel utgave). Mer om design av cache. Kort repetisjon er en spesiell type rask hukommelse som inneholder et subsett av det som

Detaljer

Hashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller

Hashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller Hashing INF2220 - Algoritmer og datastrukturer HØSTEN 200 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning : Hashing Hashtabeller (kapittel.) Hash-funksjoner (kapittel.2) Kollisjonshåndtering

Detaljer

... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved

... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved Dagens plan: Utvidbar hashing (kapittel 5.6) B-trær (kap. 4.7) Abstrakte datatyper (kap. 3.1) Stakker (kap. 3.3) Når internminnet blir for lite En lese-/skriveoperasjon på en harddisk (aksesstid 7-12 millisekunder)

Detaljer

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki. 02.04.2001 Hukommelseshierarki-2 1

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki. 02.04.2001 Hukommelseshierarki-2 1 Innhold Virtuelt minne Paging i mer detalj Felles rammeverk for hukommelseshierarki 02.04.200 Hukommelseshierarki-2 Virtuelt minne Lagringskapasiteten i RAM må deles mellom flere ulike prosesser: ûoperativsystemet

Detaljer

UNIVERSITETET I OSLO. Indeksering. Hvordan finne et element raskt? Institutt for Informatikk. INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO. Indeksering. Hvordan finne et element raskt? Institutt for Informatikk. INF Ellen Munthe-Kaas UNIVERSITETET I OSLO Indeksering Hvordan finne et element raskt? Institutt for Informatikk INF3100 2.3.2010 Ellen Munthe-Kaas 1 Oversikt Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser

Detaljer

TDT4225 Lagring og behandling av store datamengder

TDT4225 Lagring og behandling av store datamengder Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen. Fredag 17. august 2012, kl. 0900-1300 Oppgaven er utarbeidet av faglærer Kjell Bratbergsengen. Kontaktperson under

Detaljer

INF1020 Algoritmer og datastrukturer

INF1020 Algoritmer og datastrukturer Dagens plan Hashing Hashtabeller Hash-funksjoner Kollisjonshåndtering Åpen hashing (kap. 5.3) Lukket hashing (kap. 5.4) Rehashing (kap. 5.5) Sortering ut fra en hashing-ide (side 66-68) Bøttesortering

Detaljer

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

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

Detaljer

INF2220: Forelesning 3

INF2220: Forelesning 3 INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) ABSTRAKTE DATATYPER 2 Abstrakte datatyper En ADT består av: Et sett med objekter. Spesifikasjon

Detaljer

INF2220: Forelesning 3. Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5)

INF2220: Forelesning 3. Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) Map og hashing Ett minutt for deg selv: Hva vet du om maps/dictionarys og hashing fra tidligere?

Detaljer

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 3.3.2014

Detaljer

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF3100 V18 Evgenij Thorstensen

Detaljer

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 29.2.2016 Ellen

Detaljer

... HASHING. Hashing. Hashtabeller. hash(x)

... HASHING. Hashing. Hashtabeller. hash(x) HASHING Hashing Hashtabeller (kapittel.) Hash-funksjoner (kapittel.) Kollisjonshåndtering Åpen hashing (kapittel.) Lukket hashing (kapittel.) Anta at en bilforhandler har ulike modeller han ønsker å lagre

Detaljer

Hashtabeller. Lars Vidar Magnusson Kapittel 11 Direkte adressering Hashtabeller Chaining Åpen-adressering

Hashtabeller. Lars Vidar Magnusson Kapittel 11 Direkte adressering Hashtabeller Chaining Åpen-adressering Hashtabeller Lars Vidar Magnusson 12.2.2014 Kapittel 11 Direkte adressering Hashtabeller Chaining Åpen-adressering Dictionaries Mange applikasjoner trenger dynamiske sett som bare har dictionary oparsjonene

Detaljer

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type (kapittel.) Hash-funksjoner (kapittel..)

Detaljer

Databasedesign HVA? ???? HVORDAN? E/R diagram. Begrepsmessig databasedesign. Logisk databasedesign. Tabeller. Fysisk databasedesign

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

Detaljer

DBS22 Databasegjenopprettingsteknikker

DBS22 Databasegjenopprettingsteknikker Side 1 for Databaser DBS22 Databasegjenopprettingsteknikker onsdag 1. juni 2016 21.49 Pensum: 22.1-22.5, side 813-831 22.1 Gjenopprettingskonsepter 22.1.1 Recovery outline and categorization of recovery

Detaljer

IN1020. Minnehierarki

IN1020. Minnehierarki IN1020 Minnehierarki Hovedpunkter Bakgrunn Kort repetisjon Motivasjon Teknikker for hastighetsøkning Multiprosessor Økt klokkehastighet Raskere disker Økt hurtigminne Bruksområder Lagringskapasitet Aksesstider

Detaljer

Kapittel 14, Hashing. Tema. Definere hashing Studere ulike hashfunksjoner Studere kollisjonsproblemet 17-1

Kapittel 14, Hashing. Tema. Definere hashing Studere ulike hashfunksjoner Studere kollisjonsproblemet 17-1 Kapittel 14, Hashing Tema Definere hashing Studere ulike hashfunksjoner Studere kollisjonsproblemet 17-1 Hashing Hashing er en effektiv metode ved lagring og gjenfinning (søking) av informasjon Søkemetoder

Detaljer

Generelt om permanent lagring og filsystemer

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

Detaljer

UNIVERSITETET. Indeksering. Hvordan finne et element raskt? Vera Goebel, Ellen Munthe-Kaas

UNIVERSITETET. Indeksering. Hvordan finne et element raskt? Vera Goebel, Ellen Munthe-Kaas UNIVERSITETET IOSLO Indeksering Hvordan finne et element raskt? Basert på foiler av Hector Garcia Molina Basert på foiler av Hector Garcia-Molina, Vera Goebel, Ellen Munthe-Kaas Oversikt Konvensjonelle

Detaljer

Hashing: Håndtering av kollisjoner

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

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 3: Maps og Hashing Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 3 1 / 25 Maps

Detaljer

INF2270. Minnehierarki

INF2270. Minnehierarki INF2270 Minnehierarki Hovedpunkter Bakgrunn Kort repetisjon Motivasjon Teknikker for hastighetsøkning Multiprosessor Økt klokkehastighet Raskere disker Økt hurtigminne Bruksområder Lagringskapasitet Aksesstider

Detaljer

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type Hash-funksjoner hashcode Kollisjonshåndtering

Detaljer

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer Cache (repetisjon) Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser

Detaljer

Dagens tema. Flere teknikker for å øke hastigheten

Dagens tema. Flere teknikker for å øke hastigheten Dagens tema Flere teknikker for å øke hastigheten Cache-hukommelse del 1 (fra kapittel 6.5 i Computer Organisation and Architecture ) Hvorfor cache Grunnleggende virkemåte Direkte-avbildet cache Cache-arkitekturer

Detaljer

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design. Dagens temaer Dagens emner er hentet fra Englander kapittel 11 (side 327-344 ) Repetisjon av viktige emner i CPU-design. Flere teknikker for å øke hastigheten Cache 03.10.03 INF 103 1 Hvordan øke hastigheten

Detaljer

Normalisering. ER-modell

Normalisering. ER-modell Normalisering Hensikten med normalisering: En informasjonsenhet ett sted. Forhindrer anomalier Anomalier: Innsettingsanomalier. F.eks være avhengig av å sette inn flere verdi, selv om det er det er bare

Detaljer

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser 1 Cache (repetisjon)

Detaljer

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til

Detaljer

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

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

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 6.4.2016

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 23.3.2015

Detaljer

Hva er en fil logisk sett?

Hva er en fil logisk sett? Filhåndtering Kjell Åge Bringsrud (Foiler fra Olav Lysne) INF 103 Filhåndtering 1 Hva er en fil logisk sett? En samling data til ett eller annet formål En kjørbar programfil En fil med kildekode til et

Detaljer

Filhåndtering. Fysisk organisering av filer. Hva er en fil logisk sett? Eksempel: Post (record) orientert fil. Kjell Åge Bringsrud INF 103

Filhåndtering. Fysisk organisering av filer. Hva er en fil logisk sett? Eksempel: Post (record) orientert fil. Kjell Åge Bringsrud INF 103 Eksempel: Post (record) orientert fil Filhåndtering En post-orientert fil består av en samling av poster (records), som hver består av en sekvens av felt (fields). Vanlig form for organisering innen databaser.

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Basert på foiler av Hector Garcia-Molina, Ragnar Normann Oversikt Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basis-operasjoner Implementasjons-algoritmer

Detaljer

Forskjeller mellom masselager og hovedminne. Permanent? Allokasjonstabell. Filer. Sekvensielle filer. Operativsystemets rolle

Forskjeller mellom masselager og hovedminne. Permanent? Allokasjonstabell. Filer. Sekvensielle filer. Operativsystemets rolle IT1101 Informatikk basisfag, dobbeltime 17/11 Sist uke: datastrukturer Tabell Lenket liste Stakk Kø inært tre Sammenhengende blokk vs pekermetoden I dag: Filstrukturer Forskjell hovedminne og masselager

Detaljer

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen Faglig kontakt under eksamen: Kjell Bratbergsengen Tlf.: 906

Detaljer

Filsystemet fra innsiden

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

Detaljer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 7 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Detaljer

INF2220: Forelesning 2

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

Detaljer

Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation

Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) bruksområder og oppbygging ROM bruksområder og oppbygging Hukommelsesbusser Typer, Typer, Cache (repetisjon)

Detaljer

Lars Vidar Magnusson

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

Detaljer

DBS20 - Introduksjon til transaksjonsprosessering og teori

DBS20 - Introduksjon til transaksjonsprosessering og teori Side 1 for Databaser DBS20 - Introduksjon til transaksjonsprosessering og teori søndag 29. mai 2016 21.15 Pensum: 20.1-20-6, side 745-776, untatt 2.5.4 og 2.5.5 20.1 Introduksjon til transaksjonsprosessering

Detaljer

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Side 2 av 9 Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Denne oppgaven skal besvares på eget svarark sist i oppgavesettet. Dersom du finner flere alternativer som synes å passe, setter du kryss

Detaljer

Sist gang (1) IT1101 Informatikk basisfag. Sist gang (2) Oppgave: Lenket liste (fysisk) Hva menes med konseptuelt og fysisk i forb med datastrukturer?

Sist gang (1) IT1101 Informatikk basisfag. Sist gang (2) Oppgave: Lenket liste (fysisk) Hva menes med konseptuelt og fysisk i forb med datastrukturer? IT1101 Informatikk basisfag Plan de siste ukene: I dag: siste om datastruktuter (kap. 7) Mandag 17/11: dobbel forelesning om filstrukturer (kap. 8) Torsdag 20/11: øvingsforelesning med Inge Mandag 24/11:

Detaljer

EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum

EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER Faglig kontakt under eksamen:

Detaljer

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM 1 Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging 2 Cache (repetisjon) Formål:

Detaljer

Flerveis søketrær og B-trær

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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 9. desember 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

INF1010 Hashing. Marit Nybakken 8. mars 2004

INF1010 Hashing. Marit Nybakken 8. mars 2004 INF1010 Hashing Marit Nybakken marnybak@ifi.uio.no 8. mars 2004 Til nå har vi trodd at en HashMap var en mystisk uendelig stor samleeske der vi på magisk vis kan putte inn objekter og ta ut objekter ved

Detaljer

Grunnleggende Datastrukturer

Grunnleggende Datastrukturer Grunnleggende Datastrukturer Lars Vidar Magnusson 7.2.2014 Kapittel 10 Stakker og køer Lenkede lister Pekere og objekter Trerepresentasjoner Datastrukturer Vi er i gang med tredje del av kurset hvor vi

Detaljer

Liste som abstrakt konsept/datatype

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

Detaljer

TDT4225 Lagring og behandling av store datamengder

TDT4225 Lagring og behandling av store datamengder Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Lørdag 18. mai 2013, kl. 0900-1300 Oppgaven er utarbeidet av faglærer Kjell Bratbergsengen og kvalitetssikrer Svein-Olaf Hvasshovd Kontaktperson

Detaljer

Obligatorisk oppgave 1 INF1020 h2005

Obligatorisk oppgave 1 INF1020 h2005 Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser Data (transiente, persistente) DBMS databser informasjon interesseområdet informasjonsmodeller informasjonssystemer Transiente og persistente data Når vi programmerer,

Detaljer

Del 3. Pekere RR 2016

Del 3. Pekere RR 2016 Del 3 Pekere 1 RR 2016 Peker/pointer En peker er en variabel som kan holde adressen (peke til) til en annen variabel. Pekere vil gi oss muligheten for å gå direkte til en adresse i minne, og lese/skrive

Detaljer

En harddisk består av et lite antall plater av et magnetisk materiale.

En harddisk består av et lite antall plater av et magnetisk materiale. , Master En består av et lite antall plater av et magnetisk materiale. Overflaten av en plate på innsiden av en. Lesehodet flyttet posisjon mens bildet ble tatt og kan derfor sees i to posisjoner. , Master

Detaljer

Introduksjon til fagfeltet

Introduksjon til fagfeltet LC238D http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side

Detaljer

INF2220: Forelesning 3

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

Detaljer

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache. 26.03.2001 Hukommelseshierarki-1 1

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache. 26.03.2001 Hukommelseshierarki-1 1 Innhold Oversikt over hukommelseshierakiet Ulike typer minne Innledning til cache Konstruksjon av cache 26.03.2001 Hukommelseshierarki-1 1 Hukommelseshierarki Ønsker ubegrenset mye minne som er like raskt

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 6. desember 2012 Tid for eksamen: 14.30 18.30 Oppgavesettet

Detaljer

INF110 Algoritmer og datastrukturer TRÆR. Vi skal i denne forelesningen se litt på ulike typer trær:

INF110 Algoritmer og datastrukturer TRÆR. Vi skal i denne forelesningen se litt på ulike typer trær: TRÆR Vi skal i denne forelesningen se litt på ulike typer trær: Generelle trær (kap. 4.1) Binærtrær (kap. 4.2) Binære søketrær (kap. 4.3) Den siste typen trær vi skal behandle, B-trær (kap. 4.7) kommer

Detaljer

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 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

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø rodsjo@stud.ntnu.no

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø rodsjo@stud.ntnu.no Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Børge Rødsjø rodsjo@stud.ntnu.no Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner,

Detaljer

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

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

Detaljer

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

INF2220: Gruppe me 2. Mathias Lohne Høsten 2017 INF0: Gruppe me Mathias Lohne Høsten 0 1 Rød-svarte trær Vanlige binære søketrær blir fort veldig ubalanserte. røv å sett inn 1,,, 4, 5,, 7,... (i den rekkefølgen) i et binært søketre. Da vil vi i praksis

Detaljer

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner, hashtabeller Kollisjonshåndtering

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 21.3.2014

Detaljer

Datastrukturer. Algoritmer og datastrukturer. Øvingsforelesning 2

Datastrukturer. Algoritmer og datastrukturer. Øvingsforelesning 2 Datastrukturer Algoritmer og datastrukturer Øvingsforelesning 2 Datastrukturer Algoritmer og datastrukturer Øvingsforelesning 2 av Henrik Grønbech Datastrukturer Algoritmer og datastrukturer Øvingsforelesning

Detaljer

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på. Løsningsforslag for oppgavene i operativsystemer, uke 43 (18.10-22.10) På terminalstue: Oppgave 1: List alle filer og kataloger under XVUELQ som har filnavn som begynner på b. OVXVUELQE Oppgave 2: Gå til

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en

Detaljer

Notater til INF2220 Eksamen

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

Detaljer

Eksamen iin115 og IN110, 15. mai 1997 Side 2 Oppgave 1 Trær 55 % Vi skal i denne oppgaven se på en form for søkestrukturer som er spesielt godt egnet

Eksamen iin115 og IN110, 15. mai 1997 Side 2 Oppgave 1 Trær 55 % Vi skal i denne oppgaven se på en form for søkestrukturer som er spesielt godt egnet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 og IN110 Algoritmer og datastrukturer Eksamensdag: 15. mai 1997 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.

Detaljer

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

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,

Detaljer

Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006

Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006 Løsningsforslag for Obligatorisk Oppgave 3 Algoritmer og Datastrukturer ITF20006 Lars Vidar Magnusson Frist 28.03.14 Den tredje obligatoriske oppgaven tar for seg forelesning 9 til 13, som dreier seg om

Detaljer

INF2220: Forelesning 2

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

Detaljer

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) 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

Detaljer

Kap 9 Tre Sist oppdatert 15.03

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

Detaljer

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) 1 TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) Anders Christensen anders@ntnu.no Rune Sætre satre@ntnu.no 2 Læringsmål og pensum Læringsmål Datastrukturer: Cell Arrays Structures

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informatikk Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato:

Detaljer

Andre sett obligatoriske oppgaver i INF3100 V2012

Andre sett obligatoriske oppgaver i INF3100 V2012 Andre sett obligatoriske oppgaver i INF3100 V2012 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,

Detaljer

Andre sett obligatoriske oppgaver i INF3100 V2013

Andre sett obligatoriske oppgaver i INF3100 V2013 Andre sett obligatoriske oppgaver i INF3100 V2013 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,

Detaljer

Mangelen på Internett adresser.

Mangelen på Internett adresser. 1. Av 2 Introduksjon og forord Internett er som kjent bygd opp i adresser, akkurat som husstander, byer og land, dette er fordi Internett er bygd opp mye likt post systemet, du kan sammenligne en maskin

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) 1 TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) Anders Christensen anders@idi.ntnu.no Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Læringsmål Datastrukturer: Cell Arrays

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 8. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

Først litt praktisk info. Sorteringsmetoder. Nordisk mesterskap i programmering (NCPC) Agenda

Først litt praktisk info. Sorteringsmetoder. Nordisk mesterskap i programmering (NCPC) Agenda Først litt praktisk info Sorteringsmetoder Gruppeøvinger har startet http://selje.idi.ntnu.no:1234/tdt4120/gru ppeoving.php De som ikke har fått gruppe må velge en av de 4 gruppende og sende mail til algdat@idi.ntnu.no

Detaljer

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

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

Detaljer

Minnehåndtering. Lars Vidar Magnusson. October 4, 2011. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20

Minnehåndtering. Lars Vidar Magnusson. October 4, 2011. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20 Minnehåndtering Lars Vidar Magnusson October 4, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20 Oversikt Introduksjon 1 Introduksjon Beskrivelse Terminologi

Detaljer

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

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

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs

TDT4105 Informasjonsteknologi, grunnkurs 1 TDT4105 Informasjonsteknologi, grunnkurs Matlab: Sortering og søking Anders Christensen (anders@idi.ntnu.no) Rune Sætre (satre@idi.ntnu.no) TDT4105 IT Grunnkurs 2 Pensum Matlab-boka: 12.3 og 12.5 Stoffet

Detaljer

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Faglig kontakt under eksamen: Kjell Bratbergsengen Tlf.: 90617 185 / 7359 3439 Eksamensdato:

Detaljer

Oppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b

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

Detaljer

Hvordan databasesystemene kan hjelpe RAM-produsentene

Hvordan databasesystemene kan hjelpe RAM-produsentene Hvordan databasesystemene kan hjelpe RAM-produsentene Kreativ bruk av RAM i DBMSer Ragnar Normann Innhold Litt databasehistorie Litt UiO datahistorie Hvorfor (manglende) minnebruk i DBMSer er blitt et

Detaljer