UNIVERSITETET. Indeksering. Hvordan finne et element raskt? Vera Goebel, Ellen Munthe-Kaas
|
|
- Alexander Kleppe
- 7 år siden
- Visninger:
Transkript
1 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
2 Oversikt Konvensjonelle indekser B-trær og hashing hi Flerdimensjonale indekser Tre-lignende strukturer Hash-lignende strukturer Bitmap-indekser INF Ragnhild Kobro Runde Side 2
3 Indekser En indeks på et attributt A er en datastruktur som gjør det lett å finne de elementene som har en bestemt verdi for A (søkenøkkelen). Indeksen er sortert på søkenøkkelen. For hver verdi av søkenøkkelen har indeksen en liste med pekere til de tilsvarende postene. Flere indekser på samme fil gir raskere søking. økt kompleksitet endringer må også oppdatere indeksene. økt lagerbehov. INF Ragnhild Kobro Runde Side 3
4 Ulike typer indekser Tett (dense) vs tynn (sparse). Primærindeks. Cluster-indeks. Sk Sekundærindeks. idk INF Ragnhild Kobro Runde Side 4
5 Tette og tynne indekser En tett indeks har ett oppslag for hver verdi av a b c... z søkenøkkelen En tynn indeks har ett oppslag for hver datablokk a b c... z INF Ragnhild Kobro Runde Side 5
6 Et lite regnestykke Anta at vi har poster på 300B, 4B søkenøkkel, 4B pekere. 4KB blokkstørrelse, snitt 5.6 ms for å hente en blokk recorder per blokk, dvs blokker med data. 512 indekser per blokk, dvs 1954 blokker for en tett indeks og 151 blokker for en tynn. Uten indeks: 76924/2 = blokkaksesser i snitt, dette tar * 5.6 ms = s Med tett indeks og binærsøk: log2(1954) +1= = 12 blokkaksesser (maks), dette tar 12 * 5.6 ms = 67.2 ms 3205 ganger raskere enn uten indeks! Med tynn indeks og binærsøk: log2(151) + 1 = = 9 blokkaksesser (maks), dette tar 9 * 5.6 ms = 50.4 ms 4272 ganger raskere enn uten indeks, og 133ganger 1.33 raskere enn med tett indeks. INF Ragnhild Kobro Runde Side 6
7 Flernivå-indekser En indeks kan oppta flere blokker. En flernivå-indeks, dvs en indeks på indeksen, kan økeeffektiviteten. Forts. regnestykket: trenger bare 1954 / 512 = 4 blokker for 2. nivå log2(4) +1+1= = 4 blokkaksesser, dette tar 4 * 5.6 ms = 22.4 ms 2.25 ganger raskere enn en enkelt tynn indeks, 3 ganger raskere enn en tett indeks. tynn 2. nivå Kan i prinsippet ha vilkårlig mange indekser. tett 1. nivå a b c... z INF Ragnhild Kobro Runde Side 7
8 Eksempel: Sletting ved tynn indeks Slett post med a = 60 Ingen endring nødvendig i idk indeksen. Slett post med a = a b c... z Den første posten i blokken har blitt oppdatert, så indeksen må også oppdateres INF Ragnhild Kobro Runde Side 8
9 Eksempel: Sletting ved tett indeks Slett post med a = 60 Slett post med a = 40 I mange tilfeller ønsker man å komprimere dataene i blokkene. Man kan også komprimere heledatasettet datasettet, menvanligvis beholdes noe ledig plass for fremtidig innsetting a b c... z INF Ragnhild Kobro Runde Side 9
10 Eksempel: innsetting ved tynn indeks Sett inn post med a = 60 Vi er heldige ledig plass der vi trenger det. a b c... z Sett inn post med a = 25 Må flytte posten med a=30 til neste blokk for å lage plass. Den første posten i blokk to er endret, og indeksen må oppdateres. Merk: Kunne også satt inn en ny/overflyts-blokk INF Ragnhild Kobro Runde Side 10
11 Eksempel: Innsetting ved tynn indeks Sett inn post med a = 95 Ikke plass sett inn a b c... z ny/overflyts-blokk 10 Overflytsblokk: Trenger ikke gjøre noe i indeksen (har bare pekere til hovedblokkene). Ny blokk: Indeksen må oppdateres. Innsetting ved tette indekser gjøres på samme måte men indeksen må oppdateres es hver gang. g INF Ragnhild Kobro Runde Side 11
12 Tette vs tynne indekser Tett Tynn plass Ett indeksfelt per post Ett indeksfelt per datablokk blokkaksesser mange få postaksesser Direkte aksess Må lete innenfor blokken exist-spørringer Bruk indeksen alene Må alltid aksesssere blokken bruk overalt Ikke på uordnede elementer endringer Må alltid oppdateres hvis post-rekkefølgen endres Oppdateres bare hvis den første posten i en blokk endres. INF Ragnhild Kobro Runde Side 12
13 Duplikate søkenøkler (cluster-indekser) En cluster-indeks kan brukes hvis filen er sortert, selv om 10 søkenøkkelen ikke er unik. 10 Eksempel 1 tett indeks: Ett indeksfelt per post. Lett å finne poster og hvor mange som finnes av hver. Flere felt enn nødvendig? a b c... z INF Ragnhild Kobro Runde Side 13
14 Cluster-indekser: Eksempel 2 tett indeks Bare ett indeksfelt per unike 10 søkenøkkel. 20 Mindre indeks raskt søk. Mer komplisert å finne påfølgende poster a b c... z INF Ragnhild Kobro Runde Side 14
15 Cluster-indekser: Eksempel 3 tynn indeks Indeksfeltene peker til første 10 post i hver blokk Liten indeks raskt søk Vanskelig å finne poster. F.eks. finn alle poster med a = a b c... z INF Ragnhild Kobro Runde Side 15
16 Cluster-indekser: Eksempel 4 tynn indeks Indeksfeltet er første nye post i hver blokk. Liten indeks raskt søk. Vanskelig å fjerne poster. Kan vi i det hele tatt fjerne den andre forekomsten med a = 30? a b c... z INF Ragnhild Kobro Runde Side 16
17 Usorterte filer sekundærindekser Hvis filen er usortert (eller sortert på et annet attributt), kan man bruke en sekundærindeks. Sortert på søke- nøkkelen raskt søk. 1. nivå er alltid tett høyere nivåer er tynne. Duplikater tillates a b c... z INF Ragnhild Kobro Runde Side 17
18 Inverterte indekser Hva hvis man ønsker å søke på elementer innenfor et attributt? SELECT * FROM R WHERE a LIKE %cat% Søke etterdokumentersominneholdervisse nøkkelord, f.eks. søkemotorer som Google, Altavista, Excite, Lycos, AllTheWeb osv. INF Ragnhild Kobro Runde Side 18
19 Alternativ 1: true/false tabell Eksempel: tillatte nøkkelord computer, printer, laptop, disk,... computer index printer index laptop index has computer has printer has laptop disk has disk index... T T F F... F T F T... F F T T connected the printer to the computer stored the file on the disk before sending it to the printer the laptop has a 50 GB disk... INF Ragnhild Kobro Runde Side 19
20 Alternativ 2: Invertert indeks Eksempel: computer disk laptop printer... connected the printer to the computer stored the file on the disk before sending it to the printer... buckets... the laptop has a 50 GB disk... INF Ragnhild Kobro Runde Side 20
21 B-Trær og hashinghi
22 B + -trær Hver node har n søkenøkler og n+1 pekere. Indre noder: alle pekere er til sub-noder. Løv-noder: n datapekere og 1 nestepeker. Ingen noder kan være tomme. Indre noder: minst (n+1)/2 pekere til sub-noder. Løv-noder: minst (n+1)/2 datapekere. Eksempel (n=3): a INF Ragnhild Kobro Runde Side 22
23 B + -trær: B + -trær: effektivitet Et søk må alltid gå fra roten og til en løvnode, dvs. antall blokkaksesser er lik høyden på treet pluss aksessering av selve postene. Antall nivåer er vanligvis veldig liten typisk 3. Intervall-søking går veldig raskt. Ved stor n er det sjelden nødvendig å splitte/slå sammen noder. Disk I/O kan reduseres ved å holde indeksblokkene i minnet. Eksempel: 4B søkenøkler, 8B pekere, 4KB blokker (ingen headere) Hvor mange verdier kan lagres i hver node? 4n + 8(n+1) 4096 n = 340 Nodene er i snitt 75% fulle. Hvor mange poster kan et B + -tre med 3 nivåer inneholde? (340 * 75 %) 3 = million poster INF Ragnhild Kobro Runde Side 23
24 Hash-tabeller Bruker en hash-funksjon fra søkenøkkelen til en arrayindeks med peker videre til hvilken bucket som eventuelt inneholder den aktuelle posten. Arraystørrelsen er vanligvis et primtall. Viktig med en god hash-funksjon! Rask. God fordeling av søkenøklene. Eksempel: Arraystørrelse B=5 h(key) = mod(key, B) bucket-pekere i minnet buckets INF Ragnhild Kobro Runde Side 24
25 Hash-tabeller: effektivitet Ideelt er arraystørrelsen stor nok til at alle elementene for en hashverdi passer i en bucket-blokk. Da får vi signifikant færre disk-operasjoner enn med vanlige indekser og B-trær. Raskt søk etter spesifikk søkenøkkel. Flere poster kan føre til flere blokker per bucket. Dårlig på intervall-søk. INF Ragnhild Kobro Runde Side 25
26 Dynamiske hashtabeller Vanskelig å holde alle elementene innenfor en bucket-blokk hvisantall tllposter øker mens hash-tabellenh tbll er statisk. ttik Dynamiske hash-tabeller tillater tabell-størrelsen å variere slik at det holder med en blokk per bucket. utvidbar (extensible) hashing. lineær (linear) hashing. Les detaljer om disse selv! INF Ragnhild Kobro Runde Side 26
27 Sekvensielle vs hash-indekser: Sekvensielle indekser som f.eks. B-trær er gode på intervallsøk: SELECT * FROM R WHERE R.A > 5 Hash-indekser er gode når det søkes etter en spesiell nøkkel: SELECT * FROM R WHERE R.A = 5 INF Ragnhild Kobro Runde Side 27
28 Syntaks: Indekser i SQL CREATE INDEX name ON relation_name (attribute) CREATE UNIQUE INDEX name ON relation_name (attribute) definerer en kandidatnøkkel DROP INDEX name Merk: Kan ikkeangi Type indeks, f.eks. B-tre, hashing osv. Parametre slik som load faktor, hash-størrelsestørrelse osv. INF Ragnhild Kobro Runde Side 28
29 Spørringer med flere betingelser SELECT... FROM R WHERE a = 30 AND b < 5 Strategi 1: Bruk en indeks, f.eks. på a. Finn og hent alle postene med a = 30. Søk gjennom disse postene for å finne de med b < 5. Enkel strategi. Risikerer å lese mange unødvendige poster fra disk. INF Ragnhild Kobro Runde Side 29
30 Flere betingelser: strategi 2 SELECT c FROM R WHERE a=30 AND b= x Bruk to tette indekser,enforaog en og en for b. Finn alle pekere til poster med a = 30. Finn alle pekere til poster med b = x. 10 a b c x 20 y 30 z 1 30 z 10 x 2 20 y 1 Sammenlign (snitt) pekerne og hent de aktuelle postene. Plukk ut de aktuelle attributtene. a indeks buckets for a 10 y 2 30 z 1 30 x 2 30 y 1 20 z 2 30 x 1 buckets for b b indeks INF Ragnhild Kobro Runde Side 30
31 Flerdimensjonale l idk indekser
32 Flerdimensjonale indekser En flerdimensjonal indeks kombinerer flere dimensjoner i samme indeks. En enkel kltre-lignende tilnærming: i I 2 I 3 (key 1, key 2, key 3,...) I 1 I 2 I 3 I 2 I 3 INF Ragnhild Kobro Runde Side 32
33 Flerdimensjonale indekser: eksempel Eksempel, tett indeks: SELECT... FROM R WHERE a = 30 AND b = x søkenøkkel = (30, x) les a-dimensjonen. (30, x) søk etter 30, finn den tilsvarende indeksen for b-dimensjonen. søk etter x, les tilsvarende diskblokk kk og hent posten. velg ut de aktuelle attributtene. a indeks x 20 y x... y z b indeks... x y z z a b c 30 z 1 10 x 2 20 y 1 10 y 2 30 z 1 20 x 2 30 y 1 20 z 2 30 x 1 INF Ragnhild Kobro Runde Side 33
34 Flerdimensjonale indekser For hvilke spørringer er dette en god indeks? Finn poster med a = 10 AND b = x Finn poster med a = 10 AND b x Finn poster med a = 10 Finn poster med b = x Finn? poster med a 10 AND b = x Risikerer å måtte søke i mange indekser i neste dimensjon. Haddeværtbedre om dimensjonene endret rekkefølge. I a I b I b I b Det finnes mange andre tilnærminger... Andre tre-lignende strukturer Hash-lingende strukturer (Bitmap-indekser) INF Ragnhild Kobro Runde Side 34
35 Map View En flerdimensjonal indeks kan ha mange dimensjoner. Hvisvi iholder oss til to (som i dtf det forrige eksempelet), kan vi se på indeksen som et geografisk kart: b b 3 b 5 b 2 b 1 b 4 Søking tilsvarer nå å søke i kartet etter punkter: a 1 og b 1 linjer: a 2 og <b 2,b 3 > arealer: <a 3,a 4 > og <b 4,b 5 > a 1 a 2 a 3 a 4 a INF Ragnhild Kobro Runde Side 35
36 Tre-strukturer Det finnes mange tre-lignende strukturer som tilsvarer å lete etter kart-arealer: arealer: kd-trær quad-trær R-trær Vi skal se på kd-trær som et eksempel, les om de andre i læreboken! Men alle disse må oppgi minst en av følgende egenskaper ved B-trær: Balansering alle nodene er på samme nivå. Korrespondanse mellom tre-noder og disk-blokker. kk Ytelse for oppdaterings-operasjoner. INF Ragnhild Kobro Runde Side 36
37 kd trær Et kd-tree (k-dimensjonalt tre) er et binærtre hvor hver node inneholder Et attributt A. En verdi V som splitter resten av datapunktene i to. Vi skal se på en variant hvor Indre noder bare inneholder V-verdien: Venstre barn har verdier mindre enn V. Høyre barn har verdier større enn eller lik V. Løvnoder er blokker med plass til et antall poster. De ulike dimensjonene er flettet: nivå 0 nivå 1 a-dimensjon b-dimensjon nivå n nivå n+1 a-dimensjon b-dimensjon INF Ragnhild Kobro Runde Side 37
38 kd trær: eksempel Finn posten (a,b) = (70, 75) b l h i f d b c a c g k h 80 l m i b f Merk 1: verdier på ventstre og høyre side er ikke relatert til noden rett over, dvs her kan vi ha vilkårlige verdier mindre enn d 80 a 30 k m g Merk 2: kan ha tomme blokker a INF Ragnhild Kobro Runde Side 38
39 kd trær: noen problemer Kan måtte sjekke begge grenene ut fra roten, f.eks. for betingelser på b-dimensjonen. Kan måtte sjekke begge grenene til et sub-tre ved intervall- søk, f.eks. ønsket ktintervall er <10,30> og nodeverdien di er 20. Høyere trær sammenligned med B-trær Kostbart å lagre hver node i en egen blokk. Mange flere blokkaksesser enn ved B-trær. Antall blokkaksesser kan reduseres hvis vi Splitter i mer enn to grener. Grupperer indre noder i en blokk, f.eks. en node og alle etterfølgerne i et visst antall nivåer. INF Ragnhild Kobro Runde Side 39
40 Hash-lignende strukturer: grid-filer Grid-filer utvider tradisjonelle hash-indekser Hasher verdier for hvert attributt i en flerdimensjonal indeks. Hasher vanligvis ikke enkeltverdier, men regioner h(key) = <x,y> Grid-linjer partisjonerer området i striper. Eksempel (2 dimensjoner): b Finn post med (a,b) = (22, 31) h 1(22) = <a x, a y> h 2 (31) = <b m, b n > post f h 2 (b-key) l i h f d b c a k m h 1 (a-key) g a INF Ragnhild Kobro Runde Side 40
41 Grid-filer Grid-filer kan raskt finne poster med key 1 = V i AND key 2=X j key 1 = V i key 2 = X j key 1 V i Grid-filer: AND key 2 < X j Bra for søking ved flere nøkler. Bruker mye plass, krever en del organisering. Les selv om partisjonerte hash-funksjoner! INF Ragnhild Kobro Runde Side 41
42 Bitmap-indekser Utgangspunkt: Alle recorder er tilordnet et uforanderlig, entydig tall Nummering fra 1 til n Nummeret kan betraktes som en record-id og kan ikke gjenbrukes Velg ut feltet F som det skal lages en indeks på For hver benyttet verdi v for F i en av recordene, opprett en bitvektor b v med lengde n Hvis record nr. ih har F=v, la b v [i]=1 Hvis record nr. i har F v, la b v [i]=0 INF Ragnhild Kobro Runde Side 42
43 Bitmap-indekser: eksempel recordnummer fil F G 1 30 foo 2 30 bar bitvektorer for F 3 40 baz 4 50 fou 30: bar 40: baz 50: INF Ragnhild Kobro Runde Side 43
44 Karakteristika Plassbehov: Totalt antall bits er #records*#verdier 2 I verste fall trengs n 2 bits (men da har hver bitvektor bare én 1-bit) Bitvektorene kan komprimeres; det er aldri mer enn n 1-bits totalt i bitvektorene Effektiv for partial match queries (= angi verdier for noen felter, finn alle som har gitte verdier) Beregn bitvis AND på tvers av bitmap-indeksene for de aktuelle attributtene range queries (= angi intervaller for noen felter, finn alle som har verdier innen intervallene) Beregn bitvis OR innen intervallene og bitvis AND mellom intervallene INF Ragnhild Kobro Runde Side 44
45 Oppsummering Søking er kostbart Indekser Minimaliserer søkekostnader og blokkaksesser. Krever mer plass passtotalt. oa Innsetting/oppdatering/slettering av poster blir mer komplisert. Konvensjonelle indekser. B-trær (B + -trær). Hashing. Flerdimensjonale indekser. Tre-lignende strukturer. Hash-lignende strukturer. Bitmap-indekser. INF Ragnhild Kobro Runde Side 45
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
DetaljerIndeksering. 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
DetaljerUNIVERSITETET. 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
DetaljerIndeksering. 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
DetaljerIndeksering. 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... 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)
DetaljerEffektiv 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
DetaljerHashing. 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
DetaljerINF2220: 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
DetaljerINF2220: 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
DetaljerINF2220: 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
DetaljerEffektiv 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
DetaljerINF2220: 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
DetaljerEffektiv 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
DetaljerRepetisjon: 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
DetaljerDBS18 - 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
DetaljerINF2220: 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
DetaljerINF2220: 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?
DetaljerHashing: 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
DetaljerEffektiv 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
DetaljerSpørsmålskompilering del 1
UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100-11.4.2016 - Ellen
DetaljerSpørsmålskompilering del 1
UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100 - V18 - Evgenij
DetaljerMaps 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..)
DetaljerEffektiv 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 V18 Evgenij
DetaljerMaps 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
DetaljerINF 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
DetaljerINF2220: 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
DetaljerINF1020 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
DetaljerFlerveis 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
DetaljerDagens 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,
DetaljerOppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.
TDT445 Øving 4 Oppgave a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. Nøkkel: Supernøkkel: Funksjonell avhengighet: Data i en database som kan unikt identifisere (et sett
DetaljerSist 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... 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
DetaljerINF2220: 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 (ragnhilk@ifi.uio.no)
DetaljerBinæ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
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 13. desember 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 7 sider. Vedlegg: INF2220 lgoritmer og datastrukturer
DetaljerNotater 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
DetaljerGenerelle Tips. INF Algoritmer og datastrukturer. Åpen og Lukket Hashing. Hashfunksjoner. Du blir bedømt etter hva du viser at du kan
Generelle Tips INF2220 - lgoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo Du blir bedømt etter hva du viser at du kan Du må begrunne svar Du må ikke skrive av bøker
DetaljerDatastrukturer. Stakker (Stacks) Hva er en datastruktur? Fordeler / Ulemper. Generelt om Datastrukturer. Stakker (Stacks) Elementære Datastrukturer
Hva er en datastruktur? Datastrukturer Elementære Datastrukturer En datastruktur er en systematisk måte å lagre og organisere data på, slik at det er lett å aksessere og modifisere dataene Eksempler på
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Eksamensgjennomgang Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 13 1 /
DetaljerSø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
DetaljerAvsluttende eksamen i TDT4120 Algoritmer og datastrukturer
Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 14. desember 2011 Eksamenstid 1500 1900 Sensurdato 14. januar Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.
DetaljerINF 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
DetaljerLøsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 4. august 015 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte
DetaljerNormalisering. 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
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 5: Prioritetskø og Heap Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 5 1 /
DetaljerIN 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
DetaljerEksamen 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.
DetaljerSpørsmålskompilering del 2
UNIVERSITETET I OSLO Spørsmålskompilering del 2 Estimere størrelsen på mellomresultater Vurdere fysiske spørreplaner Institutt for Informatikk INF3100-7.4.2015 - Ellen Munthe-Kaas 1 Oversikt: Fra spørring
DetaljerDatastrukturer 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
DetaljerUNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1
UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 7.2.2005 Ragnar Normann 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan være
DetaljerLars 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
DetaljerFra 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 12. desember 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerTDT4225 Lagring og behandling av store datamengder
Institutt for datateknikk og informasjonsvitenskap Fakultet for Informasjonsteknologi, matematikk og elektroteknikk NTNU TDT4225 Lagring og behandling av store datamengder Onsdag 9. desember 2009, Kl.
DetaljerAlg. 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,
DetaljerListe 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
DetaljerBinæ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
DetaljerINF 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
DetaljerObligatorisk 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
DetaljerDefinisjon: 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
DetaljerINF 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
DetaljerDatamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
DetaljerINF2220: 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-
DetaljerINF2220: 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
DetaljerINF 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
DetaljerLars 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
DetaljerKap 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
DetaljerEksamensoppgave 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:
DetaljerEksamensoppgave 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:
DetaljerKap 6.3: Symboltabellen Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 17. mars Dagens tema:
Kap 6.3: Symboltabellen Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 17. mars 2015 Hvordan holde greie på: Dagens tema: Hvilke navn har en deklarasjon på «dette» sted i programmet? Hva
DetaljerParallelle og distribuerte databaser del III
UNIVERSITETET I OSLO Parallelle og distribuerte databaser del III NoSQL og alternative datamodeller Institutt for Informatikk INF3100 20.4.2015 Ellen Munthe-Kaas 1 NoSQL NoSQL er et paraplybegrep som omfatter
DetaljerDatamodellering og databaser SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
DetaljerINF110 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
DetaljerHvorfor sortering og søking? Søking og sortering. Binære søketrær. Ordnet innsetting forbereder for mer effektiv søking og sortering INF1010 INF1010
Hvorfor sortering og søking? Man bør ha orden i dataene umulig å leve uten i informasjonssamfunnet vi blir fort lei av å lete poleksempel internett alt er søking og sortering alternativer til sortering
DetaljerDatamodellering og databaser SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
DetaljerAlg. 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
DetaljerD: 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
DetaljerEKSAMENSOPPGAVE. INF-1101 Datastrukturer og algoritmer. Adm.bygget, rom K1.04 og B154 Ingen
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 15.mai 2018 Klokkeslett: 09:00 13:00 Sted: Tillatte hjelpemidler: Adm.bygget, rom K1.04 og B154 Ingen Type innføringsark (rute/linje):
DetaljerRepetisjonsforelesning, SQL og utover
Repetisjonsforelesning, SQL og utover Evgenij Thorstensen V18 Evgenij Thorstensen Repetisjon V18 1 / 23 Temaer SQL, semantikk Databasearkitektur Spørringskompilering og optimisering Indekser Transaksjonshåndtering
DetaljerSpørsmålskompilering. Basert på foiler av Hector Garcia-Molina
Spørsmålskompilering Basert på foiler av Hector Garcia-Molina Oversikt: Fra spørring til resultat SQL spørring parsere parseringstre konvertere resultat logiske spørreplaner (LSPer) anvende lover forbedrede
DetaljerDefinisjon. 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
DetaljerHashtabeller. 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
DetaljerTDT4225 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
DetaljerINF1010 siste begreper før oblig 2
INF1010 siste begreper før oblig 2 Sammenligning. Mer lenkede lister. Forskjellige listeimplementasjoner. Binære trær. Bittelitt om grensesnitt (interface). Dagens forelesning Flere temaer på grunn av
DetaljerSelv-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
DetaljerGrunnleggende 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
DetaljerHeap 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
DetaljerInnføring i blokkjedeteknologi. Slobodan Petrović, NTNU Gjøvik 14/
Innføring i blokkjedeteknologi Slobodan Petrović, NTNU Gjøvik 14/09-2018 Innhold Innledning Grunnkomponenter av en blokkjede (blockchain) Kryptografiske hash funksjoner (spredefunksjon, avtrykkfunksjon)
DetaljerHva er en algoritme? INF HØSTEN 2006 INF1020. Kursansvarlige Ragnar Normann E-post: Dagens tema
va er en algoritme? Vanlig sammenligning: Oppskrift. nput lgoritme NF1020 - ØSTEN 2006 Kursansvarlige Ragnar Normann E-post: ragnarn@ifi.uio.no Output Knuth : tillegg til å være et endelig sett med regler
DetaljerOppgave 1 Datamodellering 22 %
Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER Eksamensdato:
DetaljerIntegritetsregler i SQL. Primærnøkler
Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler skranker på attributter og tupler Interrelasjonsskranker assertions Triggere INF212
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
DetaljerUNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 11.2.2008 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan
DetaljerINF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer
Praktiske opplysninger INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Tid og sted: Mandag kl. 12:15-14:00 Store auditorium, Informatikkbygningen Kursansvarlige
DetaljerTræ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
DetaljerEnkle datastrukturer. Lars Greger Nordland Hagen. Introduksjon til øvingsopplegget og gjennomgang av python
1 Enkle datastrukturer Lars Greger Nordland Hagen algdat@idi.ntnu.no Introduksjon til øvingsopplegget og gjennomgang av python 2 I dag Stack Kø (queue) Lenkede lister (linked list) Trær Binære søketrær
DetaljerIntegritetsregler i SQL
UNIVERSITETET I OSLO Integritetsregler i SQL INF3100 8.2.2005 Ragnar Normann 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler
DetaljerHvordan 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
DetaljerHeap* 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
Detaljer