O, what a tangled. Fjerde forelesning. O, what a tangled web we weave / When first we practice to deceive! Sir Walter Scott, *Marmion*
|
|
- Carina Olsen
- 7 år siden
- Visninger:
Transkript
1 O, what a tangled Fjerde forelesning O, what a tangled web we weave / When first we practice to deceive! Sir Walter Scott, *Marmion* 1 Bruk av verktøy som rekursjon, induksjon, etc. er mer implisitt denne gangen. Se om hvor mange du kjenner igjen ;-)
2 I dag BFS Topologisk sortering Minimale spenntrær Kruskals algoritme Prims algoritme Litt om problemløsning 2
3 Leting i spiralmønster B.F.S. En annen fremgangsmåte: Jobb deg ut fra startpunktet nivå for nivå i spiral. Nye områder du kommer i kontakt med må vente ( stå i kø ) til du er ferdig med nåværende runde (dvs. det som alt står i kø ).
4 def bfs(g, s): P, Q = {s: None}, deque([s]) # Parents and FIFO queue while Q: u = Q.popleft() # Constant-time for deque for v in G[u]: if v in P: continue # Already has parent P[v] = u # Reached from u: u is parent Q.append(v) return P Fra «Python Algorithms»
5 Kjekt å vite Korrekthet (rekursjon, induksjon) for korteste vei og to-farging. BFS kan finne én-til-alle korteste vei DFS har andre nyttige egenskaper All traversering kan brukes til to-farging Vi snakker her om *uvektet* korteste vei. Mer om DFS-anvendelser neste gang. En tofargbar graf kalles også *bipartitt*. Nodene kan deles i to mengder uten interne kanter (f.eks. konflikter). Trefarging (etc.) er atskillig vanskeligere ingen kjente metoder.
6 reduksjon rekursjon dekomp. Egenskaper vi vil bevise: At vi besøker alle noder (gjelder bare hver sammenhengende komponent) At vi får til tofarging At BFS finner korteste vei - At gjenbruk unngår eksponentiell kjøretid induksjon travers. gjenbruk BFS og DFS
7 Kan vi bruke BFS på noe vis her? (Reduksjon )
8 4
9
10 «Vent 4» Dijkstras algoritme Nesten, i hvert fall
11 Besøk noder BFS: Korteste vei Uvektede grafer «Huskeliste» Oppdateres Svært anvendelige Ganske naive O(E+V) BFS og DFS
12 En litt annen måte å forklare traversering på Traversering 12
13 Forrige gang Q = [startnode] while Q: plukk ut en node u fra Q legg naboene til u inn i Q Vi gjør gjerne noe mer etter hvert som vi legger inn og plukker ut noder, da. F.eks. når vi legger inn: Husk hvor du kom fra (noden u). Det gir oss et traverseringstre. Det kan også hende vi gjør oppdateringer av avstandsestimater e.l. Mer om det siden. Husk også hvor du har vært 13 Husk: For å besøke flere komponenter må vi starte fra hver (ubesøkt) node i grafen. Hvilken node vi plukker ut påvirker atferden. Er Q en FIFO-kø får vi BFS En LIFO-kø gir DFS En helt vilkårlig (eller tilfeldig) kø vil også gi oss en gyldig traversering. (Prim og Dijkstra bruker prioritetskøer med dynamisk oppdatert prioritet men det er fortsatt en traversering som dette.)
14 Annet perspektiv Vi bygger et tre I hver runde Rundt treet er et snitt Utvid treet med en kant fra snittet Kan være et nyttig perspektiv når vi skal se på hvorfor f.eks. Prims og Dijkstras algoritmer er korrekte. Prim: Vi velger minste kant over snittet (vi har et eget teorem om hva som skjer da). Dijkstra: Vi observerer at det ikke finnes noen snarveier gjennom snittet. Mer om det siden. Snitt: Egentlig fordeling av nodene i to mengder. Her representert ved kantene mellom de to mengdene. 14 Når vi ikke kommer videre har vi (1) enten traversert hele grafen eller (2) truffet et *blokkerende* snitt (tomt for kanter, hvis grafen er usammenhengende, eller med kun rettede baklengskanter ).
15 Litt spesielt: I praksis besøker vi hver nabo vi finner direkte (vha. rekursjon), før de andre legges inn i køen. DFS? WTF? Hvilken informasjon ligger egentlig i finish-time? Alle noder er hvite fra starten «Halvferdige» er grå Ferdige er svarte d[v]: discover-time f[v]: finish-time Besøk alle hvite vi støter på rekursivt En grå node har ikke fått besøkt alle sine naboer ennå (dvs. vi har ikke backtracket over den). Eksempel s. 605 i Cormen (3. utg). 15
16 Topologisk sortering 16
17 DAG Directed Acyclic Graph Rettet asyklisk graf Dvs:Vi kan ikke gå i ring! Naturlig representasjon av avhengigheter 17
18 Dance Grade 10, Open Dramatic Arts Grade 9, Open Dramatic Arts Grade 10, Open Music Grade 9, Open Music Grade 10, Open Dramatic Arts Grade 11, University/College Dramatic Arts Grade 11, Open Music Grade 11, University/College Music Grade 11, Open Grade 12, U Dramatic Arts Grade 12, Open Music Grade 12, University/College Exploring the Arts Grade 12, Open Any Grade 9 or 10 arts course Media Arts Grade 10, Open Any Grade 11 arts course Media Arts Grade 11, Open 18 Visual Arts Grade 11, University/College For å ta et fag må du ta alle de forutsatte fagene, og deres forutsatte fag etc. For å finne ut hva som trengs for et bestemt fag kan du kjøre en baklengs traversering fra noden. Media Arts Grade 12, Open Visual Arts Grade 12, University/Col
19 Vi har en delvis ordning Hvis a > b og b > c så a > c Det kan være at verken a > b eller b > a 19
20 20
21 21 Et eksempel fra sportsverden (ikke min sterke side): Hvordan kle på seg før man står i mål i hockey
22 Vi må nesten ta på strømper før skøyter < 22
23 23 men maske og susp kan vi ta på i vilkårlig rekkefølge. Hvordan velge?
24 24 Kanskje her?
25 socks hose pants shorts t-shirt chest pad Vår oppgave: Finn en *total* ordning som respekterer den *partielle* ordningen. Det flere muligheter. skates sweater leg pads mask batting glove catch glove blocker 25
26 Vanlig sortering kan (konseptuelt) ses på som et spesialtilfelle. DAG-en er da *komplett*
27 Hvorfor må dette bli riktig? Tenk selection sort Hvordan kan man sikre en kjøretid på Θ(V + E)? 1. «Klipp av» noder uten innkanter 2. Legg løse noder bakerst i lista 3. Hvis grafen ikke er tom, start på nytt Litt «Kleinberg-orientert». 27
28 Cormen-varianten (basert på DFS). Lemma 22.11: G er asyklisk hvis og bare hvis DFS ikke finner bakover-kanter. (Hvorfor?) Vi har altså ingen bakover-kanter 28
29 Kjernen i beviset Ingen bakoverkanter Møter kun hvite/svarte Hvit: Etterkommer lavere Svart Ferdig lavere f[u] > f[v] u v Hvis vi sorterer omvendt etter f[v] vil alle kanter dermed gå samme vei. 29
30 Altså: Sortér i synkende finished -tid. Topological-Sort(G): Hvorfor må det bli riktig? Kall DFS(G) for å beregne f[v] Etter hvert som nodene er ferdige: Legg dem i starten av en liste Dette går an å forstå helt intuitivt, uten å tenke på discover- og finish-tid. En veldig enkel måte å sortere topologisk på og akkurat som man ville ha gjort det i virkeligheten Returner den lenkede listen 30 Du vil gjøre A? Da må du først gjøre B. Du vil gjøre B? Gjør først C. (Etc.) Slike avhengigheter avdekkes med DFS, og legges foran i køen. (Tenk f.eks. pakkesystemer som installerer programvarepakker; de trenger bare følge avhengighetene i noe som i praksis er DFS.
31 socks shorts hose t-shirt 7/ 14 osv pants chest pad 8/ 13 skates sweater 9/ 12 10/11 leg pads mask batting glove 1/ 6 catch glove 2/ 5 blocker 3/4 31
32 Alle piler går til høyre (tenk deg at alle var på samme linje ) socks shorts hose pants skates leg pads t-shirt chest pad sweater mask batting glove catch glove blocker 32
33 Kant-ensretting Ingen sykler Sorter etter f Underveis Evt. «plukk noder uten innkanter og legg dem sist». (DFS-varianten finner egentlig noder uten utkanter og legger dem først; blir jo det samme.) O(E + V) Topologisk sortering 33
34 34
35 35
36 Eksempel på grådighet: Velg det som er optimalt sett helt med lokale øyne. Det viktigste er da å vise at det blir korrekt (med induksjon og/eller bevis ved selvmotsigelse). Minimale spenntrær 36
37 Eksempel: Et sett med hus og veier. Hver vei forbinder to (og bare to) hus. Hver vei har en reparasjonskostnad. Mål: Reparer nok veier (men ikke fler) til at 1. Alle hus kan nå hverandre (urettet graf), og 2. Totale kostnader minimeres Annet eksempel: Elektroniske kretser; bruk minst mulig metall. Annet eksempel: Elektrisk nettverk for et sett med byer. 37 Hvorfor må det bli et tre? Hvis vi har én sykel, hva kan/må vi gjøre?
38 Hvordan finne spenntrær 38
39 Spenntrær Har V 1 kanter Har ingen sykler Er ikke nødvendigvis unike 39
40 Vi bygger oss et sett med kanter. Begynner med en tom mengde, og legger til én og én kant. Invariant: Foreløpig løsning er et subsett av et MST. Trenger ikke være sammenhengende. Når vi har V-1 kanter *må* det jo være riktig. 40
41 «Trygg» betyr bare at vi ikke bryter invarianten. Så A er et ekte subsett av et MST helt til det faktisk *er* et MST. 1. A er en tom mengde Hvordan finner vi trygge kanter? 2. Så lenge A ikke er et spenntre: a) Finn en kant som er trygg for A b) Legg kanten til i A Induksjon 41
42 Viktig! Anta at A ikke har noen kanter over «snittet» på figuren. Den letteste kanten er da trygg. (Vi kan ha flere.) Vises lett ved selvmotsigelse. Hvorfor kan det bli galt hvis A allerede krysser snittet? 42
43 A er en skog Hver trygg kant slår sammen to trær Vi trenger V 1 iterasjoner 43
44 Trivia: Union-find-strukturen er *supereffektiv*. Den er et eksempel på en av de få kjøretidene i pensum som er raskere enn logaritmisk, men likevel (i teorien) langsommere enn konstant. ( I teorien, fordi det vil være omtrent fysisk umulig for den å komme over 4 ) Se etter Inverse Ackermann i boka eller på nett :-) «I hy! og vær» Se på dekomponering/ reduksjon/rekursjon/ induksjon som perspektiver her Går igjennom kantene i sortert rekkefølge (etter vekt), og hopper over ulovlige kanter (de som gir sykler). Liten ekstra vanskelighet: Hvordan avgjør vi om en kant skaper en sykel? Vi må ha en lur datastruktur som tar vare på trærne i skogen så langt. Kruskals algoritme Union-find: Beskrevet mer i detalj i læreboka. Hovedprinsipp: Alle trær har en peker til sitt «super-tre»/union. 44
45 Finn MST Sorter kanter Bruk lovlige O(E lg V) Kruskals algoritme 45
46 Minner om DFS/BFS, men har en annen type «kø»/ valgmekanisme: «Jevnt og fint» Ta alltid noden som det er billigst å koble til treet du har så langt. Her har vi altså hele tiden bare ett tre i A. Traversering Prims algoritme 46
47 Her er snittet «rundt» treet. 47
48 Finn MST Traversering Neste: Kortest Raskest i praksis O(V lg V + E) Akkurat det er ikke pensum, men jeg har sett studier som tyder på det :-) (Med vanlig binær heap.) Prims algoritme 48
49 Så 49
50 Topsort: DFS; legg ferdige noder først i liste Kruskal: Kanter sortert; unngå sykler O(E lg V) Prim: Koble til billigste node O(V lg V + E) Ikke helt klart hvilken som er «best» av Prim og Kruskal. Empirisk (i virkelige implementasjoner) vinner Prims algoritme også over mer avanserte algoritmer. 50
51 Litt om problemløsning (igjen) 51
52 Fra Wikipedia: «A graph with 23 1-vertex cliques (its vertices), vertex cliques (its edges), 19 3-vertex cliques (the light blue triangles), and 2 4-vertex cliques (dark blue). Six of the edges and 11 of the triangles form maximal cliques. The two dark blue 4-cliques are both maximum and maximal, and the clique number of the graph is 4.» < Bakgrunn Å avgjøre om en graf har en klikk av størrelse k (for en vilkårlig k) er vanskelig (NP-komplett). 52 Bakgrunnsstoff for neste eksempel
53 Basert på eksamensoppgaver (opprinnelig fra «Python Algorithms»). Du har n venner og vil invitere noen på fest. Alle som inviteres må kjenne minst k av de andre. Storparty Intimparty Inviter flest mulig. Inviter færrest mulig. La oss se på storpartyet først 53
54 quod est necessarium est licitum Må du så må du! Det som er nødvendig er lovlig. 54 Vi vil løse problemet trinnvis, som alltid (induksjon/rekursjon ). Hvis et trinn er *nødvendig* så må det være OK å bruke! (Hvis du ikke får det til, så er det selvfølgelig ingen løsning.)
55 Finn ett trinn Om du tenker induktivt eller rekursivt blir det samme (bare litt «speilvendt»). Det er uansett snakk om ett trinn som tar oss fra én partiell løsning til en større en eller som reduserer det fulle problemet til en mindre instans av det samme generelle problemet. Vi kan fortsette sånn til det ikke går lenger. Da kjenner naturligvis alle k av de andre (det var det som gjorde at vi stoppet). (Dette kan være den tomme mengden, da ) Hvorfor er det rett? Tenk på den første: han/hun fyller ikke kriteriene og vil uansett ikke kunne være med i noen som helst løsning. Å ekskludere ham/henne ødelegger ikke for løsningen. Vi sitter da igjen med et ekvivalent problem, og det samme resonnementet gjelder igjen og igjen. Quod et necessarium est licitum! 55 La én som ikke kjenner k andre slippe invitasjon
56 Vanskelig Enten Da kunne du jo Motsatt Ukjent Eller Det er jo bare å Enkelt 56
57 Vanskelig Ukjent 57
58 Hvorfor vil det å finne den minste mengden der alle kjenner minst k andre kunne brukes til å løse CLIQUE? CLIQUE Fordi hvis og bare hvis denne gruppen har akkurat k+1 personer så inneholder grafen en klikk av størrelse k+1. INTIMPARTY Bonusspørsmål: Hvorfor er MAX-CLIQUE (finn den største klikken i grafen) minst like vanskelig som CLIQUE? (Reduser fra CLIQUE ) 58
O, what a tangled. Fjerde forelesning. Robot-eksemplet som ikke ble gjennomgått sist blir frivillig selvstudium (ut fra foilene :-)
Dagens oppvarming 1 O, what a tangled Fjerde forelesning Robot-eksemplet som ikke ble gjennomgått sist blir frivillig selvstudium (ut fra foilene :-) O, what a tangled web we weave / When first we practice
DetaljerEn litt annen måte å forklare traversering på. Traversering
En litt annen måte å forklare traversering på Traversering 2 def walk(g, s): # Walk the graph from node s P, Q = dict(), set() # Predecessors + "to do" queue P[s] = None # s has no predecessor Q.add(s)
DetaljerØvingsforelesning 4. Topologisk sortering, Strongly Connected Components og Minimale spenntrær. Magnus Botnan
Øvingsforelesning 4 Topologisk sortering, Strongly Connected Components og Minimale spenntrær Magnus Botnan botnan@stud.ntnu.no 09/10/09 1 I dag Topologisk Sortering Sterke Komponenter Minimale Spenntrær
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF2220 28.09.2016 1 / 30 Dagens plan: Dijkstra fort.
DetaljerGrunnleggende Grafteori
Grunnleggende Grafteori 2. September, 2019 Institutt for Informatikk 1 Dagens plan Terminologi og definisjoner Hvordan representere grafer i datamaskinen Traversering Dybde-først-søk Bredde-først-søk Topologisk
DetaljerAlgdat Redux. Fjortende forelesning. Repetisjon av utvalgte emner.
Algdat Redux Fjortende forelesning Repetisjon av utvalgte emner. 1 Nå har vi en brukbar (om enn ikke helt intuitiv) definisjon av «alt» og nå ønsker vi å lage oss en liste med de problemene som er «verst
DetaljerDijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.
Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert. Tenk vann som sprer seg i rør: Vi behandler krysningspunktene i den rekkefølgen de fylles. Det må gi
DetaljerAlgdat - øvingsforelesning
Algdat - øvingsforelesning Topologisk sortering og minimale spenntrær Nils Barlaug Dagens plan 1. 2. 3. 4. 5. Praktisk og dagens plan Topologisk sortering Minimale spenntrær a. Kruskal b. Prim Tips til
DetaljerGRAFER. Korteste vei i en vektet graf uten negative kanter. Korteste vei, en-til-alle, for: Minimale spenntrær
IN Algoritmer og datastrukturer GRAER IN Algoritmer og datastrukturer Dagens plan: orteste vei, en-til-alle, for: ektet rettet graf uten negative kanter (apittel 9..) (Dijkstras algoritme) ektet rettet
DetaljerIN Algoritmer og datastrukturer
IN00 - Algoritmer og datastrukturer HØSTEN 08 Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer II Ingrid Chieh Yu (Ifi, UiO) IN00 8.09.08 / Dagens plan: Korteste vei en-til-alle vektet
DetaljerINF1020 Algoritmer og datastrukturer GRAFER
GRAFER Dagens plan: Minimale spenntrær Prim Kapittel 9.5.1 Kruskal Kapittel 9.5.2 Dybde-først søk Kapittel 9.6.1 Løkkeleting Dobbeltsammenhengende grafer Kapittel 9.6.2 Å finne ledd-noder articulation
DetaljerMinimum spenntrær. Lars Vidar Magnusson Kapittel 23. Kruskal Prim
Minimum Spenntrær Lars Vidar Magnusson 2.4.2014 Kapittel 23 Minimum spenntrær Kruskal Prim Minimum Spenntrær Et spenntre er et tre som spenner over alle nodene i en graf G = (V, E). Et minimum spenntre
DetaljerINF Algoritmer og datastrukturer
INF0 - Algoritmer og datastrukturer HØSTEN 05 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF0.09.05 / 8 Dagens plan: Minimale spenntrær Prim Kruskal
DetaljerMinimum Spenntrær - Kruskal & Prim
Minimum Spenntrær - Kruskal & Prim Lars Vidar Magnusson 4.4.2014 Kapittel 23 Kruskal algoritmen Prim algoritmen Kruskal Algoritmen Kruskal algoritmen kan beskrives med følgende punkter. Vi har en en sammenkoblet
DetaljerDijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.
Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert. Tenk vann som sprer seg i rør: Vi behandler krysningspunktene i den rekkefølgen de fylles. Det må gi
DetaljerLitt om grafer og traversering, og om hashing. Jeg gikk en tur i. Tredje forelesning
Litt om grafer og traversering, og om hashing. Jeg gikk en tur i Tredje forelesning Ikke la dere lure av ordet reduksjon her! X? Det er jo bare å Y. Hvilken vei gir informasjon? Hvis jeg vil vise at A
DetaljerFra A til B. Syvende forelesning
Fra A til B Syvende forelesning 1 Amøbeproblemet nok en gang. Hva er 1+2+4+ +n/2? 2 Skal la være å trekke frem binærtrefiguren igjen ;-) La oss se på det på en litt annen måte, som passer dagens tema (fra
DetaljerLitt om grafer og traversering, og om hashing. Jeg gikk en tur i. Tredje forelesning
Litt om grafer og traversering, og om hashing. Jeg gikk en tur i Tredje forelesning Først: Høyreregelen. Så: Rekursiv formulering. Bilde: Hver node er en person. Det sendes rundt en påmeldingsliste. Hver
DetaljerDijkstras algoritme Spørsmål
:: Forside s algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no folk.ntnu.no/asmunde/algdat/dijkstra.pdf :: Vi er ofte interessert i å finne korteste, raskeste eller billigste vei mellom to punkter Gods-
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,
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2017 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2017, forelesning 5 1 / 53
DetaljerIN Algoritmer og datastrukturer
IN2010 - Algoritmer og datastrukturer HØSTEN 2018 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2010 H2018, forelesning 4 1 / 54
DetaljerGrunnleggende Grafalgoritmer II
Grunnleggende Grafalgoritmer II Lars Vidar Magnusson March 17, 2015 Kapittel 22 Dybde-først søk Topologisk sortering Relasjonen til backtracking Dybde-Først Søk Dybde-først søk i motsetning til et bredde-først
DetaljerKorteste vei i en vektet graf uten negative kanter
Dagens plan: IN - Algoritmer og datastrukturer HØSTEN 7 Institutt for informatikk, Universitetet i Oslo IN, forelesning 7: Grafer II Korteste vei, en-til-alle, for: Vektet rettet graf uten negative kanter
DetaljerEvt. forklar på tavla. Diskuter kjøretid (best-/ worst-case). Innsetting og søk. Rekursjon igjen. A C E G
TLDR RTFM Innsetting og søk. Rekursjon igjen. Evt. forklar på tavla. Diskuter kjøretid (best-/ worst-case). D B F A C E G reduksjon! rekursjon dekomp. induksjon gjenbruk travers. Søk i søketre uten balansering
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning 5 1 / 49
DetaljerGRAFER. Noen grafdefinisjoner. Korteste vei i en uvektet graf V 2 V 1 V 5 V 3 V 4 V 6
IN Algoritmer og datastrukturer GRAER Dagens plan: Kort repetisjon om grafer Korteste, en-til-alle, for: uektede grafer (repetisjon) ektede rettede grafer uten negatie kanter (Dijkstra, kapittel 9..) ektede
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning 5 1 / 55
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
DetaljerEksamen i tdt4120 Algoritmer og datastrukturer
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 5 Oppgavestillere: Magnus Lie Hetland Jon Marius Venstad Kvalitetskontroll: Magnar Nedland Faglig
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 11. august 2014 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode D. Ingen
DetaljerAlgdat Eksamensforelesning. Nils Barlaug
Algdat Eksamensforelesning Nils Barlaug Eksamen Pensum Eksamen Pensum Oppgaver du har gjort og ting du har lest Eksamen Pensum Oppgave på eksamen Oppgaver du har gjort og ting du har lest Eksamen Pensum
DetaljerGrunnleggende Grafalgoritmer
Grunnleggende Grafalgoritmer Lars Vidar Magnusson 19.3.2014 Kapittel 22 Representere en graf Bredde-først søk Grafer i Informatikken Problem med grafer går ofte igjen i informatikkens verden, så det å
DetaljerKorteste Vei II. Lars Vidar Magnusson 11.4.2014. Kapittel 24 Bellman-Ford algoritmen Dijkstra algoritmen
Korteste Vei II Lars Vidar Magnusson 11.4.2014 Kapittel 24 Bellman-Ford algoritmen Dijkstra algoritmen Bellman-Ford Algoritmen Bellman-Ford er en single-source korteste vei algoritme. Den tillater negative
DetaljerAll good things. Fjortende forelesning
All good things Fjortende forelesning 1 Reduksjons- Eksempler 2 Clique til Independent Set 3 Partition til Bin Packing 4 Partition til Subset Sum 5 CNF-SAT til Dir. Ham. Cycle 6 Dir. Ham. Cycle til Ham.
DetaljerLøsningsforslag - Korteste vei
Sist endret: 17.08.2010 Hovedside FAQ Beskjeder Timeplan Ukeplan Øvinger Gruppeøving Eksamensoppgaver Pensum Løsningsforslag - Korteste vei [Oppgave] [Levering] [Løsningsforslag] Innleveringsfrist: 21.10.2011
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 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 6 1 / 31 Dagens plan:
DetaljerStudentnummer: Side 1 av 1. Løsningsforslag, Eksamen i TDT4120 Algoritmer og datastrukturer August 2005
Studentnummer: Side 1 av 1 Løsningsforslag, Eksamen i TDT4120 Algoritmer og datastrukturer August 2005 Faglige kontakter under eksamen: Magnus Lie Hetland, Arne Halaas Tillatte hjelpemidler: Bestemt enkel
DetaljerLøsningsforslag for utvalgte oppgaver fra kapittel 9
Løsningsforslag for utvalgte oppgaver fra kapittel 9 9.2 1 Grafer og minne.......................... 1 9.2 4 Omvendt graf, G T......................... 2 9.2 5 Kompleksitet............................
DetaljerMAT1030 Forelesning 22
MAT1030 Forelesning 22 Grafteori Roger Antonsen - 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) Introduksjon Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt rundt oss!
DetaljerAlgdat-ninja på 60 minutter: Et galskapsprosjekt. Magnus Lie Hetland
Algdat-ninja på 60 minutter: Et galskapsprosjekt Magnus Lie Hetland 15. november, 2002 Advarsel: Tettpakkede og overfladiske foiler forut! 1 Algtdat i 6 punkter 1. Grunnbegreper og basisverktøy 2. Rekursjon
DetaljerPensum: fra boken (H-03)+ forelesninger
Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 11. august 2014 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode D. Ingen
DetaljerIntroduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Introduksjon 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) MAT1030 Diskret Matematikk
DetaljerIntroduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf
Introduksjon MAT13 Diskret matematikk Forelesning 21: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 9. april 28 Vi skal nå over til kapittel 1 & grafteori. Grafer fins overalt rundt
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 21: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 9. april 2008 Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt
DetaljerPensum: fra boken (H-03)+ forelesninger
Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.
DetaljerMagnus Moan (Undertegnede) Enkle datastrukturer, trær, traversering og rekursjon
1 Enkle datastrukturer, trær, traversering og rekursjon Magnus Moan (Undertegnede) algdat@idi.ntnu.no Enkle datastrukturer, trær, traversering og rekursjon 2 Dagens plan Praktisk Enkle datastrukturer Stack
DetaljerLive life and be merry
Om grådighet og først litt mer DP. Live life and be merry Ellevte forelesning for tomorrow you may catch some disgusting skin disease. [Edmund Blackadder] 1 2 g i t k i s K o rt Grådighet All form for
DetaljerINF Algoritmer og datastrukturer
IN2220 - lgoritmer og datastrukturer HØSTN 2016 Institutt for informatikk, Universitetet i Oslo orelesning 7: rafer III Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 1 / 28 agens plan: evis for Prim ybde-først
DetaljerLineær sortering. Radix sort
Fra forrige gang 1 Lineær sortering Radix sort 2 Sorter hvert siffer for seg Bruk en stabil sortering (f.eks. CS) for å bevare arbeidet så langt Vi må begynne med minst signifikante siffer Konstant antall
DetaljerLøsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl
SIF8010 2003-08-09 Stud.-nr: Antall sider: 1 Løsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas, tlf.
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf.!! 91851949 Eksamensdato! 15. august 2013 Eksamenstid (fra til)! 0900 1300 Hjelpemiddelkode D.
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
DetaljerTeoriøving 7 + litt om Ford-Fulkerson. Magnus Lie Hetland
Teoriøving 7 + litt om Ford-Fulkerson Magnus Lie Hetland Oppgave 1 a s 7 t 3 x 4 2 2 8 2 u 6 v 3 w Bruk DIJKSTRA eller BELLMAN-FORD og finn minste avstand fra s til de andre nodene. Svar/utregning (DIJKSTRA):
DetaljerINF1020 Algoritmer og datastrukturer GRAFER
GRAFER Dagens plan: Definisjon av en graf (kapittel 9.1) Grafvarianter Intern representasjon av grafer (kapittel 9.1.1) Topologisk sortering (kapittel 9.2) Korteste vei, en-til-alle, for: uvektet graf
DetaljerAll good things. Fjortende forelesning
All good things Fjortende forelesning Div notater finnes på http://www.idi.ntnu.no/~algdat Foiler finnes på http://www.idi.ntnu.no/~mlh/algdat/latitudinary Spørsmål? algdat@idi.ntnu.no Sjekkliste Dette
DetaljerMAT1030 Forelesning 25
MAT1030 Forelesning 25 Trær Dag Normann - 27. april 2010 (Sist oppdatert: 2010-04-27 14:16) Forelesning 25 Litt repetisjon Vi har snakket om grafer og trær. Av begreper vi så på var følgende: Eulerstier
DetaljerAvsluttende eksamen i TDT4120 Algoritmer og datastrukturer
Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 3. desember 2012 Eksamenstid 0900 1300 Sensurdato 3. januar 2013 Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.
DetaljerØvingsforelesning 2 - TDT4120. Grafer og hashing. Benjamin Bjørnseth
Øvingsforelesning 2 - TDT4120 Grafer og hashing Benjamin Bjørnseth Informasjon Studasser algdat@idi.ntnu.no Program Presentasjon av øving 2 Grafer og traverseringsalgoritmer BFS, DFS Hashing Gjennomgang
DetaljerEksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl
SIF8010 2003-08-09 Stud.-nr: Antall sider: 1 Eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 41661982; Magnus Lie
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 25: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 27. april 2010 (Sist oppdatert: 2010-04-27 14:15) Forelesning 25 MAT1030 Diskret Matematikk 27. april
DetaljerGo with the. Niende forelesning. Mye matematikk i boka her ikke så komplisert, men mye å holde styr på.
Go with the Niende forelesning Mye matematikk i boka her ikke så komplisert, men mye å holde styr på. Fokuserer på de viktigste ideene i dagens forelesning, så det forhåpentligvis blir lettere å skjønne
DetaljerKompleksitet. IN algoritmer og datastrukturer Plenumstime / repetisjon
Kompleksitet IN2010 - algoritmer og datastrukturer Plenumstime / repetisjon Dagens agenda Kompleksitet - hva er det? Avgjørelsesproblemer Kompleksitetsklassene P og NP Reduksjoner - å redusere et problem
DetaljerAlle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder.
Enkel alle-til-allealgoritme: Kjør Dijkstra (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder. Kan fungere for spinkle grafer blir dyrt ellers. Alle mot alle Åttende forelesning 1 Dijkstra
Detaljerfor bare trær Andre forelesning
Formler eller bevis e.l. som er uklare? Si ifra, så kan jeg gå g jennom dem. Forelesningene er ment å være en hjelp til å forstå det man leser i boka ikke «spoon-feeding» av det samme som står der for
DetaljerIN Algoritmer og datastrukturer
IN010 - Algoritmer og datastrukturer HØSTEN 018 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer III Ingrid Chieh Yu (Ifi, UiO) IN010 0.10.018 1 / 0 Dagens plan: Dybde-først søk Biconnectivity
DetaljerGo with the. Niende forelesning. Mye matematikk i boka her ikke så komplisert, men mye å holde styr på.
Go with the Niende forelesning Mye matematikk i boka her ikke så komplisert, men mye å holde styr på. Fokuserer på de viktigste ideene i dagens forelesning, så det forhåpentligvis blir lettere å skjønne
DetaljerSøk i tilstandsrom. Backtracking (Kap. 10) Branch-and-bound (Kap. 10) Iterativ fordypning. Dijkstras korteste sti-algoritme A*-søk (Kap.
Søk i tilstandsrom Backtracking (Kap. 10) DFS i tilstandsrommet. Trenger lite lagerplass. Branch-and-bound (Kap. 10) BFS Trenger mye plass: må lagre alle noder som er «sett» men ikke studert. Kan også
DetaljerKompleksitet og Beregnbarhet
Kompleksitet og Beregnbarhet 16. September, 2019 Institutt for Informatikk 1 Dagens plan Avgjørelsesproblemer. P EXPTIME NP Reduksjoner NP-kompletthet Uavgjørbarhet UNDECIDABLE DECIDABLE PSPACE NPC NP
DetaljerUretta grafar (1) Mengde nodar Mengde kantar som er eit uordna par av nodar
Kapittel 13, Grafar Uretta grafar (1) Ein uretta graf Mengde nodar Mengde kantar som er eit uordna par av nodar To nodar er naboar dersom dei er knytta saman med einkant Ein node kan ha kant til seg sjølv.
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG,
DetaljerKORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf
Vektet Urettet Graf KORTESTE STI Finn: fra en Enkel Kilde til Alle Noder. (Engelsk: Single Source Shortest Path - SSSP) Vektede Grafer vekter på kanter representerer f.eks. avstand, kostnad, båndbredde...
DetaljerAlgdat - Øvingsforelesning. Maks flyt
Algdat - Øvingsforelesning Maks flyt Dagens plan 1. LF teoriøving 7 2. Maks flyt 3. Ford-Fulkerson 4. Maksimal bipartitt matching 5. Presentasjon av øving 9 2 Øving 7 4b) I hvilken rekkefølge velges noder
DetaljerAvsluttende eksamen i TDT4120 Algoritmer og datastrukturer
Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 3. desember 2012 Eksamenstid 0900 1300 Sensurdato 3. januar 2013 Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.
DetaljerVi skal se på grafalgoritmer for:
Grafalgoritmer Vi skal se på grafalgoritmer for: Traversering: Oppsøk alle nodene i grafen en og bare en gang, på en eller annen systematisk måte Nåbarhet: Finnes det en vei fra en node til en annen node?
DetaljerGo with the. Niende forelesning. Mye matematikk i boka her ikke så komplisert, men mye å holde styr på.
Go with the Niende forelesning Mye matematikk i boka her ikke så komplisert, men mye å holde styr på. Fokuserer på de viktigste ideene i dagens forelesning, så det forhåpentligvis blir lettere å skjønne
DetaljerEkstra ark kan legges ved om nødvendig, men det er meningen at svarene skal få plass i rutene på oppgavearkene. Lange svar teller ikke positivt.
Side 1 av 5 Noen viktige punkter: (i) (ii) (iii) (iv) Les hele eksamenssettet nøye før du begynner! Faglærer går normalt én runde gjennom lokalet. Ha evt. spørsmål klare! Skriv svarene dine i svarrutene
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT0 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 98 5 99 Eksamensdato 9. august, 07 Eksamenstid
DetaljerLøsningsforslag for eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl
Student nr.: Side 1 av 5 Løsningsforslag for eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler:
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 7. desember 2013 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode Målform/språk
DetaljerMAT1030 Forelesning 22
MAT1030 Forelesning 22 Grafteori Dag Normann - 14. april 2010 (Sist oppdatert: 2010-04-14 12:45) Kombinatorikk Oppsummering av regneprinsipper Ordnet utvalg med repetisjon: n r Ordnet utvalg uten repetisjon:
DetaljerKombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo Kombinatorikk 14. april 2010 (Sist oppdatert: 2010-04-14 12:43) MAT1030 Diskret Matematikk 14.
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 14. april 2010 (Sist oppdatert: 2010-04-14 12:42) Kombinatorikk MAT1030 Diskret Matematikk 14.
DetaljerInnhold. Innledning 1
Innhold Innledning 1 1 Kompleksitetsanalyse 7 1.1 Innledning.............................. 8 1.2 Hva vi beregner........................... 8 1.2.1 Enkle operasjoner...................... 8 1.2.2 Kompleksitet........................
DetaljerForelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann
MAT1030 Diskret Matematikk Forelesning 25: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo Forelesning 25 27. april 2010 (Sist oppdatert: 2010-04-27 14:16) MAT1030 Diskret Matematikk 27. april
Detaljerfor bare trær Andre forelesning
Formler eller bevis e.l. som er uklare? Si ifra, så kan jeg gå g jennom dem. Forelesningene er ment å være en hjelp til å forstå det man leser i boka ikke «spoon-feeding» av det samme som står der for
DetaljerØvingsforelesning Korteste vei: Alle til alle
Øvingsforelesning Korteste vei: Alle til alle TDT4120 Algoritmer og datastrukturer Ole Kristian Pedersen 02. november, 2018 IDI, NTNU Plan for dagen Løsninger teoriøving 10 Alle til alle med Dijkstra &
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT0 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 98 5 99 Eksamensdato 7. desember, 06 Eksamenstid
DetaljerO(V 2 ) bwfs(v, i=1) λ[v] = i for each neighbor u of v if 0 < λ[u] < i. bwfs(u, i+1) if λ[u] = 0
O(V 2 ) bwfs(v, i=1) λ[v] = i for each neighbor u of v if 0 < λ[u] < i bwfs(u, i) for each neighbor u of v if λ[u] = 0 bwfs(u, i+1) Bacwards-first search; traverserer en graf med kvadratisk worst-casekjøretid.
DetaljerDagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg
Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Definisjon av en graf Grafvarianter Intern representasjon
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 918 51 949 Eksamensdato 4. desember, 2017
DetaljerSpenntrær, oppsummert: Kruskal: Traverserer ikke. Plukker kanter i hytt og vær Prim: Legger alltid til den noden som er nærmest treet
Spenntrær, oppsummert: Kruskal: Traverserer ikke. Plukker kanter i hytt og vær Prim: Legger alltid til den noden som er nærmest treet 1 A B D C Prim: Kruskal: AB, BD, DC DC, AB, BD 2 0 + 1 + + n 1; antall
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT0 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 98 5 99 Eksamensdato 9. august, 07 Eksamenstid
DetaljerFoilene legges ut her:
http://www.idi.ntnu.no/~algdat algdat@idi.ntnu.no Foilene legges ut her: http://www.idi.ntnu.no/~mlh/algdat/footstool Jeg bruker en del opphavsrettslig beskyttede bilder, og vil derfor ikke publisere foilene
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
DetaljerINF Algoritmer og datastrukturer
N0 - lgoritmer og datastrukturer ØSTN 0 nstitutt for informatikk, Universitetet i Oslo orelesning : rafer ngrid hieh Yu (fi, UiO) N0 0.0.0 / 0 agens plan: ybde-først søk Strongly connected components jesteforelesning:
DetaljerRepetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon
Repetisjon og mer motivasjon MAT030 Diskret matematikk Forelesning 22: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 4. april 2008 Først litt repetisjon En graf består av noder og
DetaljerLO118D Forelesning 12 (DM)
LO118D Forelesning 12 (DM) Trær 15.10.2007 1 Traversering av trær 2 Beslutningstrær 3 Isomorfisme i trær Preorden-traversering 1 Behandle den nåværende noden. 2 Rekursivt behandle venstre subtre. 3 Rekursivt
Detaljer