PG4200 Algoritmer og datastrukturer forelesning 3. Lars Sydnes 29. oktober 2014
|
|
- Frode Arntsen
- 7 år siden
- Visninger:
Transkript
1 PG4200 Algoritmer og datastrukturer forelesning 3 Lars Sydnes 29. oktober 2014
2 Plan Måling av kjøretid (delvis repetisjon) Matematisk analyse av kjøretid Presentasjon av innlevering 1
3 I Innlevering 1
4 Innlevering 1 Innleveringen utgjør 25 % av vurderingsgrunnlaget i faget. Frist: 21.september klokken 23.55
5 Innlevering 1 Oppgave 1: Kjøretidsanalyse Analyse av kjøretid for søk i lister.
6 Innlevering 1 Oppgave 1: Kjøretidsanalyse Analyse av kjøretid for søk i lister. To ulike liste-implementasjoner: ArrayList LinkedList
7 Innlevering 1 Oppgave 1: Kjøretidsanalyse Analyse av kjøretid for søk i lister. To ulike liste-implementasjoner: ArrayList LinkedList Fire ulike søkemetoder: Sekvensielt søk basert på indeks. Sekvensielt søk med foreach-løkke Innebygd søk Binært søk.
8 Innlevering 1 Oppgave 1: Kjøretidsanalyse Analyse av kjøretid for søk i lister. To ulike liste-implementasjoner: ArrayList LinkedList Fire ulike søkemetoder: Sekvensielt søk basert på indeks. Sekvensielt søk med foreach-løkke Innebygd søk Binært søk. To ulike analyseprinsipper: Måling av kjøretid og grafisk fremstilling. Matematisk analyse
9 Innlevering 1 Oppgave 2: Søk i filsystemet. java.io.file-objekter ken representere kataloger vanlige filer
10 Innlevering 1 Oppgave 2: Søk i filsystemet. java.io.file-objekter ken representere kataloger vanlige filer Gitt et objektstring target og File file. Hvis file er en vanlig fil: Søk etter target i file Hvis file er en katalog: Søk etter target i alle filer i alle underkataloger.
11 Innlevering 1 Oppgave 2: Søk i filsystemet. java.io.file-objekter ken representere kataloger vanlige filer Gitt et objektstring target og File file. Hvis file er en vanlig fil: Søk etter target i file Hvis file er en katalog: Søk etter target i alle filer i alle underkataloger. Utvidelse: Søk etter String taget på worldwide web uten å google. Internett vs WorldWide Web. Hvordan få tak i lenkene? Hvordan unngå å besøke samme side mange ganger.
12 Innlevering 1 Materiale Alt materiale er samlet i innlevering1.zip.
13 Innlevering 1 Materiale Alt materiale er samlet i innlevering1.zip. Dette zip-arkivet inneholder: Oppgavetekst: innlevering1.pdf. Utgangspunkt for kjøretidsanalyse: innlevering1.pdf. Enkel mal for svar på spørsmål: innlevering1.doc. Enkel regnearkmal: innlevering1.xls.
14 Innlevering 1 Besvarelse Besvarelsen leveres på it s learning.
15 Innlevering 1 Besvarelse Besvarelsen leveres på it s learning. Pakk besvarelsen inn i en fil med navn innlevering1.zip
16 Innlevering 1 Besvarelse Besvarelsen leveres på it s learning. Pakk besvarelsen inn i en fil med navn innlevering1.zip Unngå pakker: All kode skal være kompilerbar og kjørbar fra roten i zip-arkivet.
17 Innlevering 1 avslutning Les gjennom oppgaveteksten og la studentene stille spørsmål.
18 II Kort om rekursive funksjoner
19 Rekursjon En metode som kaller seg selv kalles rekursiv:
20 Rekursjon En metode som kaller seg selv kalles rekursiv: Eksempel: Regn ut summen S n = (n 1) + n
21 Rekursjon En metode som kaller seg selv kalles rekursiv: Eksempel: Regn ut summen S n = (n 1) + n Observarsjoner: S 0 = 0, S n = S n 1 + n
22 Rekursjon En metode som kaller seg selv kalles rekursiv: Eksempel: Regn ut summen S n = (n 1) + n Observarsjoner: S 0 = 0, S n = S n 1 + n Rekursiv funksjon: public static int sum(n){ if (n == 0) return 0; else return n + sum(n-1) }
23 Bestanddeler i rekursive funksjoner Rekursivt kall: Der hvor metoden kaller seg selv.
24 Bestanddeler i rekursive funksjoner Rekursivt kall: Der hvor metoden kaller seg selv. Stoppbetingelse.
25 Bestanddeler i rekursive funksjoner Rekursivt kall: Der hvor metoden kaller seg selv. Stoppbetingelse. public static int sum(n){ if (n == 0){ // Stoppbetingelse return 0; } else { return n + sum(n-1) // Rekursivt kall. } }
26 Bestanddeler i rekursive funksjoner Rekursivt kall: Der hvor metoden kaller seg selv. Stoppbetingelse. public static int sum(n){ if (n == 0){ // Stoppbetingelse return 0; } else { return n + sum(n-1) // Rekursivt kall. } } Rekursive funksjoner bør ha denne strukturen: if (stoppbetingelse){ kontrollert nedstengning } else {
27 Hva skjer når vi glemmer stoppbetingelsen? Se Rekursjon.java
28 Hva skjer når vi glemmer stoppbetingelsen? Se Rekursjon.java Stikkord: StackOverflow.
29 Eksempel: LinkedList.java Listen er definert på en selvrefererende måte. Rekursiv søkemetode.
30 III Måling av kjøretid
31 En enkelt måling public static double timetrial(int N){ preparetest(n); Stopwatch timer = new Stopwatch(); dotest(n); } return timer.elapsedtime(); Her er preparetest en metode som gjør forberedelser, mens dotest representerer det vi ønsker å måle tiden for.
32 Test med konstant økning av problemstørrelsen public static void test(){ for (int N = 100; N < 1000; N += 100){ double time = timetrial(n); StdOut.println("%7d%5.1f\n",N,time); } }
33 Test med konstant økning av problemstørrelsen public static void test(){ for (int N = 100; N < 1000; N += 100){ double time = timetrial(n); StdOut.println("%7d%5.1f\n",N,time); } } Doblingstest public static void test(){ for (int N = 100; N < 1000; N += N){ double time = timetrial(n); StdOut.println("%7d%5.1f\n",N,time); } }
34 Hva vi måler Kjøretid ved for ulike verdier av N. Hva N er varierer etter konteksten, for eksempel: antall objekter i en beholder antallet spillere i et online-spill antall flyplasser i et nettverk av flyruter
35 Hva vi måler Kjøretid ved for ulike verdier av N. Hva N er varierer etter konteksten, for eksempel: antall objekter i en beholder antallet spillere i et online-spill antall flyplasser i et nettverk av flyruter Vi kan også være interessert i å måle andre ting enn kjøretid: antallet addisjonsoperasjoner antallet array-oppslag bruk av minneressurser.
36 Karakterisering av input Kjøretiden for en søkealgoritme kan avhenge av mange faktorer: Antallet elementer det søkes blant Hvilket element det søkes etter Andre kvaliteter, som f.eks antall repetisjoner
37 Karakterisering av input Kjøretiden for en søkealgoritme kan avhenge av mange faktorer: Antallet elementer det søkes blant Hvilket element det søkes etter Andre kvaliteter, som f.eks antall repetisjoner Som regel fokuserer vi på én faktor. Påvirkningen fra de andre faktorene fremstår som støy.
38 Praktisk eksempel ThreeSum.java DoublingTest.java
39 IV Matematisk analysen av kjøretid
40 Donald Knuths Ideal Målsetning Skrive opp en formel for kjøretiden til et dataprogam: Kjøretid = f (input) Viktigste faktorer Hva er kjøretiden til hver instruksjon? Hvor mange ganger utføres hver enkelt instruksjon?
41 Problem I: Uforutsigbar kjøretid Kjøretiden til hver enkelt instruksjon: Varierer fra maskin til maskin Påvirkes av ytre faktorer
42 Problem I: Uforutsigbar kjøretid Kjøretiden til hver enkelt instruksjon: Varierer fra maskin til maskin Påvirkes av ytre faktorer Strategi Vi kan nøye oss med å telle hvor mange ganger instruksjonene utføres. Det resulterende tallet er antagelig tett knyttet til kjøretiden.
43 Eksempel: Enkel løkke sum = 0; for (int i = 1; i <= n; i++){ sum+=i; }
44 Eksempel: Enkel løkke sum = 0; for (int i = 1; i <= n; i++){ sum+=i; } Denne løkken har frekvens n. Instruksjonene inne i løkken gjentas n ganger. I koden kan vi skrive: sum = 0; for (int i = 1; i <= n; i++){ sum+=i; } // frekvens: n
45 Eksempel: Dobbel løkke for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ dosomething(); } } Ytre løkke: Frekvens = n.
46 Eksempel: Dobbel løkke for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ dosomething(); } } Ytre løkke: Frekvens = n. For hver verdi av i gjentas den indre løkken n ganger.
47 Eksempel: Dobbel løkke for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ dosomething(); } } Ytre løkke: Frekvens = n. For hver verdi av i gjentas den indre løkken n ganger. Indre løkke: Frekvens = n + n + cdots + n = n 2.
48 Eksempel: Dobbel løkke for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ dosomething(); } } Ytre løkke: Frekvens = n. For hver verdi av i gjentas den indre løkken n ganger. Indre løkke: Frekvens = n + n + cdots + n = n 2. Hvis dosomething() tar omtrent 400 millisekunder, så vil den totale kjøretiden bli omtrene 400 n 2 millisekunder. Hvis n = 10, er altså kjøretiden omtrent 40 sekunder.
49 Eksempel: ThreeSum.java public static int count(int[] a) { int N = a.length; int cnt = 0; for (int i = 0; i < N; i++) { for (int j = i+1; j < N; j++) { for (int k = j+1; k < N; k++) { if (a[i] + a[j] + a[k] == 0) { cnt++; } } } } return cnt; }
50 Konklusjon Vi konkluderer med at den indre loopen har frekvens f (N) = 1 N(N 1)(N 2) 6
51 Problem II: Vanskelig matematikk Vi har sett at regningen kan bli veldig vanskelig Strategi Tilde-notasjon Orden
52 Tilde-notasjon Vi infører følgende notasjon for positive funksjoner f (n), g(n):
53 Tilde-notasjon Vi infører følgende notasjon for positive funksjoner f (n), g(n): Definisjon Vi sier at dersom for store n. f (n) g(n) f (n) g(n) 1
54 Regneregler for tilde-notasjon Hvis f 1 (n) g 1 (n) og f 2 (n) g 2 (n), og a og b er konstanter, så er
55 Regneregler for tilde-notasjon Hvis f 1 (n) g 1 (n) og f 2 (n) g 2 (n), og a og b er konstanter, så er af 1 (n) + bf 2 (b) ag 1 (n) + bg 2 (n)
56 Regneregler for tilde-notasjon Hvis f 1 (n) g 1 (n) og f 2 (n) g 2 (n), og a og b er konstanter, så er af 1 (n) + bf 2 (b) ag 1 (n) + bg 2 (n) og f 1 (n)f 2 (n) g 1 (n)g 2 (n)
57 Polynomer Vi behøver kun å bry oss om det leddet som har høyest grad: an 2 + bn + c an 2
58 Polynomer Vi behøver kun å bry oss om det leddet som har høyest grad: an 2 + bn + c an 2 Bevis: an 2 + bn + c an 2 = 1 + b 1 a n + c 1 a n 2 De to siste leddene 0 for store n, så brøken 1.
59 3n 2 (4n + 5n 2 ) 15n 4 3n 2 (4n + 5n 2 ) = 12n n 4 15n *n**2*(4*n+5*n**2) 15*n**
60 3n 2 (4n + 5n 2 ) 15n 4 plott av y = 3n 2 (4n + 5n 2 ) og y = 15n 4 : 1.6e e+09 3*n**2*(4*n+5*n**2) 15*n**4 1.2e+09 1e+09 8e+08 6e+08 4e+08 2e
61 3n 2 (4n + 5n 2 ) 15n 4 plott av y = 3n 2 (4n + 5n 2 ) og y = 15n 4 med logaritmisk skala. 1e+14 1e+12 3*n**2*(4*n+5*n**2) 15*n**4 1e+10 1e+08 1e
62 3n 2 (4n + 5n 2 ) 15n 4 Plott av y = 3n2 (4n + 5n 2 ) 15n 4 2 (3*n**2*(4*n+5*n**2))/(15*n**4)
63 Eksempel Vi tar utgangspunkt i et kjent resultat: n 2 = n(n + 1)(2n + 1) 6 Dette er et faktum som det dessverre ikke er enkelt å bevise.
64 Eksempel Vi tar utgangspunkt i et kjent resultat: n 2 = n(n + 1)(2n + 1) 6 Dette er et faktum som det dessverre ikke er enkelt å bevise. Vil ha enklere formel på høyre side.
65 Utregning n 2 = n(n + 1)(2n + 1) 6 = 1 6 (2n3 + 3n 2 + n) = 1 3 n n n 1 3 n3
66 Konklusjon n n3
67 Anvendelse på TreeSum.java Frekvensen til den indre loopen i TreeSum.java er 1 6 N(N 1)(N 2) 1 6 N3
68 Anvendelse på TreeSum.java Frekvensen til den indre loopen i TreeSum.java er Utifra dette skulle vi forvente for en eller annen konstant a. 1 6 N(N 1)(N 2) 1 6 N3 kjøretid an 3
69 Anvendelse på TreeSum.java Frekvensen til den indre loopen i TreeSum.java er Utifra dette skulle vi forvente for en eller annen konstant a. 1 6 N(N 1)(N 2) 1 6 N3 kjøretid an 3 Praktisk demonstrasjon. Se doublingtestoutput.xls
70 Anvendelse på TreeSum.java Frekvensen til den indre loopen i TreeSum.java er Utifra dette skulle vi forvente for en eller annen konstant a. 1 6 N(N 1)(N 2) 1 6 N3 kjøretid an 3 Praktisk demonstrasjon. Se doublingtestoutput.xls Disse målingene gir estimatet kjøretid N 3 sekunder
71 Hva har vi gjort Observasjon av kjøretiden (Målinger) Matematisk analyse Hypotese: Basert på analysen Sammenligning av hypotensen med målingene. Oppstilling av et brukbart estimat.
PG 4200 Algoritmer og datastrukturer Innlevering 1. Frist: 2.februar kl 21.00
PG 4200 Algoritmer og datastrukturer Innlevering 1 Frist: 2.februar kl 21.00 Utdelt materiale: Alle filer som nevnes er inneholdt i zip-filen innlevering1.zip. Innlevering: Besvarelsen skal være i form
DetaljerInnføring i matematisk analyse av algoritmer
DUMMY Innføring i matematisk analyse av algoritmer Lars Sydnes September 2014 Dette er ment som et supplement til læreboka Algorithms, 4.utgave av Sedgewick & Wayne, heretter omtalt som læreboka. Etter
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 3 Rekursjon Estimering
PG4200 Algoritmer og datastrukturer Forelesning 3 Rekursjon Estimering Lars Sydnes, NITH 22.januar 2014 I. Rekursjon commons.wikimedia.org Rekursjon i naturen En gren er et tre som sitter fast på et tre.
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 2
PG4200 Algoritmer og datastrukturer Forelesning 2 Lars Sydnes, NITH 15. januar 2014 I. Forrige gang Praktisk eksempel: Live-koding II. Innlevering Innlevering 1 2.februar Offentliggjøring: 22.januar Innhold:
DetaljerNORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer
Oppgavesettet består av 8 (åtte) sider. NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer Tillatte hjelpemidler: Ingen Side 1 av 8 Varighet: 3 timer Dato: 4.juni 2013 Fagansvarlig:
DetaljerNORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer
Oppgavesettet består av 7 (syv) sider. NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer Tillatte hjelpemidler: Ingen Side av 7 Varighet: 3 timer Dato:.august 203 Fagansvarlig:
DetaljerNITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013
NITH PG00 Algoritmer og datastrukturer Løsningsforslag Eksamen.juni 0 Dette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. Det er altså ikke et eksempel
DetaljerNorges Informasjonsteknologiske Høgskole
Oppgavesettet består av 6 (seks) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 6 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 4. juni 2014 Fagansvarlig:
DetaljerLO118D Forelesning 2 (DM)
LO118D Forelesning 2 (DM) Kjøretidsanalyse, matematisk induksjon, rekursjon 22.08.2007 1 Kjøretidsanalyse 2 Matematisk induksjon 3 Rekursjon Kjøretidsanalyse Eksempel Finne antall kombinasjoner med minst
DetaljerMED TIDESTIMATER Løsningsforslag
Oppgavesettet består av 12 (mange) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 12 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 6. august 2014 Fagansvarlig:
DetaljerAlgoritmer og Datastrukturer IAI 21899
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 30. november 2000, kl. 09.00-14.00 LØSNINGSFORSLAG 1 Del 1, Binære søketrær Totalt
DetaljerPG 4200 Algoritmer og datastrukturer Innlevering 2
PG 4200 Algoritmer og datastrukturer Innlevering 2 Frist: Mandag 21.april 2014 kl 23.55 Utdelt materiale: Se zip-filen innlevering2.zip. Innlevering: Lever en zip-fil som inneholder følgende: PG4200_innlevering_2.pdf:
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 10
PG4200 Algoritmer og datastrukturer Forelesning 10 Lars Sydnes, NITH 9. april 2014 NOE Å STUSSE PÅ? Quadratic probing i Hash-tabell: ( ) 2 i + 1 p = p + ( 1) i+1 2 Underforstått forutsetning: Heltallsaritmetikk
DetaljerLøsningsforslag til eksamen i PG4200 Algoritmer og datastrukturer 10. desember 2014
Løsningsforslag Dette er et utbygd løsningsforslag. D.v.s at det kan forekomme feil og at løsningene er mer omfattende enn det som kreves av studentene på eksamen. Oppgavesettet består av 5 (fem) sider.
DetaljerAlgoritmer og datastrukturer Løsningsforslag
Algoritmer og datastrukturer Løsningsforslag Eksamen 30. november 2010 Oppgave 1A Et turneringstre for en utslagsturnering med n deltagere blir et komplett binærtre med 2n 1 noder. I vårt tilfelle får
DetaljerEKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Kalkulator Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15
DetaljerAlgoritmer og datastrukturer Kapittel 1 - Delkapittel 1.8
Delkapittel 1.8 Algoritmeanalyse Side 1 av 12 Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.8 1.8 Algoritmeanalyse 1.8.1 En algoritmes arbeidsmengde I Delkapittel 1.1 ble det definert og diskutert
DetaljerNy/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerEKSAMEN Løsningsforslag. med forbehold om bugs :-)
1 EKSAMEN Løsningsforslag med forbehold om bugs :-) Emnekode: ITF20006 000 Dato: 20. mai 2011 Emne: Algoritmer og datastrukturer Eksamenstid: 09:00 til 13:00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater
DetaljerFig1. Den konvekse innhyllinga av 100 tilfeldige punkter i planet (de samme som nyttes i oppgaven.)
Oblig3 i INF2440 våren 2015-ver3. Den konvekse innhyllinga til en punktmengde - et rekursivt geometrisk problem. Innleveringsfrist fredag 27. mars kl. 23.59 En punktmengde P i planet består av n forskjellige
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister
PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister Lars Sydnes, NITH 5. februar 2014 I. Implementasjoner Tabell-implementasjon av Stakk Tabellen er den lettest tilgjengelige datastrukturen
DetaljerLøsningsforslag for Obligatorisk Oppgave 2. Algoritmer og Datastrukturer ITF20006
Løsningsforslag for Obligatorisk Oppgave 2 Algoritmer og Datastrukturer ITF20006 Lars Vidar Magnusson Frist 28.02.14 Den andre obligatoriske oppgaven tar for seg forelesning 5, 6, og 7 som dreier seg om
DetaljerNorges Informasjonsteknologiske Høgskole
Oppgavesettet består av 6 (seks) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 6 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 6. august 2014 Fagansvarlig:
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler
DetaljerPG4200 Algoritmer og datastrukturer forelesning 10. Lars Sydnes 21. november 2014
PG4200 Algoritmer og datastrukturer forelesning 10 Lars Sydnes 21. november 2014 I Grafer Grafisk fremstilling av en graf D A B C Ikke-rettet graf Grafisk fremstilling av en graf D A B C Rettet graf Grafisk
DetaljerAlgoritmer - definisjon
Algoritmeanalyse Algoritmer - definisjon En algoritme* er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede
DetaljerPG4200 Algoritmer og datastrukturer Lab 1. 8.januar 2014. I dag skal vi undersøke en rekke velkjente databeholdere i Java:
PG4200 Algoritmer og datastrukturer Lab 1 8.januar 2014 Innledning I dag skal vi undersøke en rekke velkjente databeholdere i Java: java.util.arraylist java.util.linkedlist java.util.hashset java.util.treeset
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
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
DetaljerRekursjon. Binærsøk. Hanois tårn.
Rekursjon Binærsøk. Hanois tårn. Hvorfor sortering (og søking) er viktig i programmering «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til
DetaljerLø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
DetaljerEKSAMEN med løsningsforslag
EKSAMEN med løsningsforslag Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer:
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 7
PG4200 Algoritmer og datastrukturer Forelesning 7 Lars Sydnes, NITH 19. mars 2014 I. TERMINOLOGI FOR TRÆR TRÆR Lister: Lineære Trær: Hierarkiske Modell / Språk: Bestanddeler: Noder, forbindelser. Forbindelse
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
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
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 12
PG4200 Algoritmer og datastrukturer Forelesning 12 Lars Sydnes, NITH 30. april 2014 I. SIST: NOTAT OM HARDE PROBLEMER INNHOLD Håndterlige problemer: Problemer med kjente algoritmer med polynomisk kjøretid
DetaljerOppgave 1. Sekvenser (20%)
Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I BERGEN Eksamen i emnet I 20 - Algoritmer, datastrukturer og programmering Mandag 2.Mai 200, kl. 09-5. Ingen hjelpemidler tillatt. Oppgavesettet
DetaljerNITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013
NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 20 ette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. et er altså ikke et eksempel
DetaljerDivide-and-Conquer. Lars Vidar Magnusson 13.1.2015
Divide-and-Conquer Lars Vidar Magnusson 13.1.2015 Kapittel 4 Maximum sub-array problemet Matrix multiplikasjon Analyse av divide-and-conquer algoritmer ved hjelp av substitusjonsmetoden Divide-and-Conquer
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
DetaljerINF1010 notat: Binærsøking og quicksort
INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.
DetaljerAlgoritmer og datastrukturer Løsningsforslag
Algoritmer og datastrukturer ved Høgskolen i OsloSide 1 av 6 Algoritmer og datastrukturer Løsningsforslag Eksamen 24. februar 2010 Oppgave 1A 1. Komparatoren sammenligner først lengdene til de to strengene.
DetaljerEKSAMEN. Algoritmer og datastrukturer
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer: Gunnar Misund
DetaljerINF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også
DetaljerEn implementasjon av binærtre. Dagens tema. Klassestruktur hovedstruktur abstract class BTnode {}
En implementasjon av binærtre Dagens tema Eksempel på binærtreimplementasjon Rekursjon: Tårnet i Hanoi Søking Lineær søking Klassestruktur hovedstruktur abstract class { class Person extends { class Binaertre
Detaljer"behrozm" Oppsummering - programskisse for traversering av en graf (dybde først) Forelesning i INF februar 2009
Rekursiv programmering BTeksempel Datastruktur I klassen Persontre (rotperson==) Rekursjon Noen oppgaver/problemer er rekursive «av natur» Eksempel på en rekursiv definisjon Fakultetsfunksjonen
DetaljerLøsnings forslag i java In115, Våren 1996
Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra
Detaljeralternativer til sortering og søking binære trær søketrær Ikke-rekursiv algoritme som løser Hanois tårn med n plater
Dagens temaer Sortering: 4 metoder Hvorfor sortering (og søking) er viktig i programmering Sortering når objektene som skal sorteres er i et array 1. Sorterering ved bruk av binærtre som «mellomlager»
Detaljer7) Radix-sortering sekvensielt kode og effekten av cache
) Radix-sortering sekvensielt kode og effekten av cache Dels er denne gjennomgangen av vanlig Radix-sortering viktig for å forstå en senere parallell versjon. Dels viser den effekten vi akkurat så tilfeldig
DetaljerForelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner
Forelesning 14 og induksjon Dag Normann - 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt om ekvivalensrelasjoner og partielle ordninger. Vi snakket videre om funksjoner.
DetaljerAlgoritmer og Datastrukturer
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Lørdag 15. desember 2001, kl. 09.00-14.00 Hjelpemidler: Alle trykte og skrevne hjelpemidler.
DetaljerInnhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)
Innhold Unified Modelling Language UML INF1000 Høst 2015 Uke 8: Mer objektorientert programmering Siri Moe Jensen En ny type for-løkke Organisering av mengder av objekter HashMap Valg av representasjon
DetaljerLøsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl
TDT4120 2003-12-09 Stud.-nr: Antall sider: 1/7 Løsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas,
DetaljerHva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 14: Rekursjon og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt
DetaljerINF1000 - Løsning på seminaropppgaver til uke 8
INF1000 - Løsning på seminaropppgaver til uke 8 Oppgave 1 a) for(string nokkel : studenter.keyset){ System.out.println(nokkel); Studenten sitt navn blir skrevet ut. b) for(student dennestudenten : studenter.values()){
DetaljerAlgoritmer - definisjon
Algoritmeanalyse Algoritmer - definisjon En algoritme er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede
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)
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 15. desember 2010 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerOm Kurset og Analyse av Algoritmer
Om Kurset og Analyse av Algoritmer Lars Vidar Magnusson 8.1.2014 Praktisk informasjon om kurset Hva er en algoritme? (kapittel 1) Hvordan analysere en algoritme? (kapittel 2) Praktisk Informasjon Introduction
DetaljerAlgoritmer og datastrukturer Eksamen
Eksamen - Algoritmer og datastrukturer - Høgskolen i Oslo og Akershus - 27.11.2012 Side 1 av 6 Algoritmer og datastrukturer Eksamen 27.11.2012 Eksamensoppgaver Råd og tips: Bruk ikke for lang tid på et
DetaljerOppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf
Oppgave 3 3 a IN1020 Algoritmer og datastrukturer orelesning 15: Gjennomgang av eksamen vår 2001 oppgave 3 Arild Waaler Institutt for informatikk, Universitetet i Oslo 11. desember 2006 Oppgave 3 a. Antagelser
DetaljerNy/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 5. januar 2018 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:
DetaljerAlgoritme-Analyse. Asymptotisk ytelse. Sammenligning av kjøretid. Konstanter mot n. Algoritme-kompeksitet. Hva er størrelsen (n) av et problem?
Hva er størrelsen (n) av et proble? Algorite-Analyse Algoriter og Datastrukturer Antall linjer i et nettverk Antall tegn i en tekst Antall tall so skal sorteres Antall poster det skal søkes blant Antall
DetaljerEKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet består
DetaljerUNIVERSITETET I OSLO
Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet er på
DetaljerHeapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer
Heapsort Lars Vidar Magnusson 24.1.2014 Kapittel 6 Heaps Heapsort Prioritetskøer Sorterings Problemet Sorterings problemet er et av de mest fundementalske problemene innen informatikken. Vi sorterer typisk
DetaljerRekursjon som programmeringsteknikk
Rekursjon Kap.7 Sist oppdatert 15.02.10 Rekursjon som programmeringsteknikk 10-1 Rekursiv tenkning Rekursjon er en programmeringsteknikk der en metode kan kalle seg selv for å løse problemet. En rekursiv
DetaljerINF1010 LISTER. Listeelementer og listeoperasjoner. Foran. Bak
LISTER Vanligste datastruktur Mange implementasjonsmåter (objektkjeder, array...) Operasjoner på listen definerer forskjellige typer lister (LIFO, FIFO,...) På norsk bruker vi vanligvis ordet «liste» for
DetaljerHva er syntaks? En overskrift i en norsk avis: Dagens tema Grundig repetisjon og utdyping:
Hva er syntaks? En overskrift i en norsk avis: Fanger krabber så lenge de orker Dagens tema Grundig repetisjon og utdyping: Er det i C lov å skrive for (;;) { while () { Syntaks kontra semantikk for å
DetaljerTDT4105 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
DetaljerObligatorisk oppgave 1 i INF 4130, høsten 2008
Obligatorisk oppgave 1 i INF 4130, høsten 2008 Leveringsfrist 3. oktober Institutt for informatikk Krav til innleverte oppgaver ved Institutt for informatikk (Ifi) Ved alle pålagte innleveringer av oppgaver
DetaljerDagens temaer. Sortering: 4 metoder Søking: binærsøk Rekursjon: Hanois tårn
Dagens temaer Sortering: 4 metoder Hvorfor sortering (og søking) er viktig i programmering Sortering når objektene som skal sorteres er i et array 1. Sorterering ved bruk av binærtre som «mellomlager»
DetaljerINF2220: Forelesning 1
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 Ingrid Chieh Yu de Vibe (ingridcy@ifi.uio.no)
DetaljerLC191D/LO191D Videregående programmering mai 2010
LC191D/LO191D Videregående programmering mai 2010 Løsningsforslag Oppgave 1 Transporttype er en tekst som er felles for klassene AnnenEgenTransport og Kollektivtransport. Vi legger den derfor i klassen
DetaljerEKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 28. mai 2018 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerRekursjon. (Big Java kapittel 13) Fra Urban dictionary: recursion see recursion. IN1010 uke 8 våren Dag Langmyhr
Fakultet Bredde Rekursjon Fibonacci Sjakk Hanois tårn Lister Oppsummering Rekursjon (Big Java kapittel 13) Fra Urban dictionary: recursion see recursion. n! = n x n-1 x n-2 x... x 2 x 1 Å beregne fakultet
DetaljerINF1010 Rekursive metoder, binære søketrær. Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre
INF1010 Rekursive metoder, binære søketrær Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre public void skrivutmeg ( ) { System. out. println (navn + " er venn med " + minbestevennheter
DetaljerUke 12 inf2440 v2018. Eric Jul PSE-gruppa Ifi, UiO
Uke 12 inf2440 v2018 Eric Jul PSE-gruppa Ifi, UiO Oblig 5 veiledning, 2018 i dag, den sekvensielle løsninga. Den konvekse innhyllinga til n punkter Oblig 4 Hva er det, definisjon Hvordan ser den ut Hva
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen : 09.00
DetaljerKapittel 8: Sortering og søking
Kapittel 8: Sortering og søking Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk, 2003. ISBN 82-02-23274-0 http://www.ii.uib.no/~khalid/jfps/
DetaljerEKSAMEN. Emne: Algoritmer og datastrukturer
1 EKSAMEN Emnekode: ITF20006 000 Dato: 18. mai 2012 Emne: Algoritmer og datastrukturer Eksamenstid: 09:00 til 13:00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Faglærer: Gunnar Misund Oppgavesettet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 110 Algoritmer og datastrukturer Eksamensdag : Lørdag 8. desember 2001 Tid for eksamen : 09.00-15.00 Oppgavesettet er på
DetaljerAlgoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2
Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 11.2 Korteste vei i en graf 11.2.1 Dijkstras metode En graf er et system med noder og kanter mellom noder. Grafen kalles rettet Notasjon Verdien
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
DetaljerFaglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten.
IN1010/INF1010 v2019 Eksamensinfo Eksamen IN1010/INF1010 våren 2019 Tid: 7. juni kl. 14:30-18:30 (4 timer) PRAKTISK INFORMASJON Hvis du synes noen deler av oppgaven er uklare, kan du legge dine egne forutsetninger
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
DetaljerGenerelle trær BINÆRTRÆR. Binærtrær
BINÆRTRÆR Kort repetisjon Generelle trær Binærtrær Implementasjon Traversering Binære søketrær Definisjon Søking, innsetting og sletting Gjennomsnitts-analyse Eksempel: Ibsens skuespill Generelle trær
DetaljerAlgoritmer og Datastrukturer
Eksamen i Algoritmer og Datastrukturer IAI 20102 Høgskolen i Østfold Avdeling for informatikk og automatisering Lødag 5. juni 2004, kl. 09.00-13.00 LØSNINGSFORSLAG 1 Del 1 60% Oppgave 1.1-10% Forklar kort
DetaljerUNIVERSITETET I OSLO
FASIT UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen :
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:
DetaljerGjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7
Gjennomgang prøveeksamen 2014 oppgave 1, 2, 4, 5, 7 1a: Hva er verdien til tall etter at følgende kode er utført: 17 int tall = 5; tall = (tall*3) + 2; 5 15 17 1b: Anta at følgende programsetninger utføres.
DetaljerAlgoritmer og datastrukturer E Løkker i Java
Vedlegg E Løkker i Java Side 1 av 6 Algoritmer og datastrukturer E Løkker i Java E Løkker i Java E.1 For-løkker En for-løkke består av de fire delene initialisering, betingelse, oppdatering og kropp (eng:
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
DetaljerINF1020 Algoritmer og datastrukturer GRAFER
GRAFER Dagens plan: Avsluttende om grådige algoritmer Huffman-koding (Kapittel 10.1.2) Dynamisk programmering Floyds algoritme for korteste vei alle-til-alle (Kapittel 10.3.4) Ark 1 av 16 Forelesning 22.11.2004
DetaljerLøsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene
DetaljerINF2220: Forelesning 1
INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) Rekursjon (kapittel 1.3) (Binær)trær (kapittel 4.1-4.3 + 4.6) Praktisk informasjon 2 Praktisk informasjon Kursansvarlige Ingrid
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
Detaljer