Algdat Eksamensforelesning. Nils Barlaug

Størrelse: px
Begynne med side:

Download "Algdat Eksamensforelesning. Nils Barlaug"

Transkript

1 Algdat Eksamensforelesning Nils Barlaug

2 Eksamen Pensum

3 Eksamen Pensum Oppgaver du har gjort og ting du har lest

4 Eksamen Pensum Oppgave på eksamen Oppgaver du har gjort og ting du har lest

5 Eksamen Pensum Vanskelighetsgrad Oppgave på eksamen Oppgaver du har gjort og ting du har lest

6 Diskmat-eksamen 2010 Pensum

7 Diskmat-eksamen 2011 Pensum

8 Diskmat-eksamen 2012 Pensum

9 Diskmat-eksamen 2013 Pensum

10 Diskmat-eksamen 2014 Pensum

11 Diskmat-eksamen - sum over tid Pensum

12 Exphil-eksamen Pensum

13 Exphil-eksamen Pensum

14 Exphil-eksamen Pensum Blom ster heft e

15 Matte 1-4 Pensum

16 Matte 1-4 (slik det oppleves for mange) Pensum

17 AlgDat-eksamen 2010 Pensum

18 AlgDat-eksamen 2011 Pensum

19 AlgDat-eksamen 2012 Pensum

20 AlgDat-eksamen 2013 Pensum

21 AlgDat-eksamen - sum over tid Pensum

22

23 Hvordan forberede seg?

24 Traversering G = (V, E)

25 Dybde først søk

26 Bredde først søk

27 Bredde først søk

28 Bredde først søk

29 H2012, oppgave 1d

30 H2011, oppgave 1f

31 Hashing 3: 1432: 8393: 9638: Nils Magnus Odd Gustav

32 H2014, oppgave 2d

33 H2012, oppgave 1b

34 Topologisk sortering

35 H2011, oppgave 1a

36 Annet eksempel på topologisk sortering

37 Enda et eksempel

38 Enda et eksempel

39 DAG - Directed Acyclic Graph ( rettet asyklisk graf) Ikke dag DAG DAG

40 Topologisk sortering Abstraksjon En topologisk sortering av en DAG G er en lineær ordning av nodene i G slik at hvis G inneholder en kant (u, v) kommer u før v i ordningen. (Cormen) Hvordan kan vi løse dette generelt?

41 Topologisk sortering - algoritmen (i boka) Kjør DFS på alle noder. Når en node er ferdigprosessert legges den først i den topologiske ordningen. La oss prøve algoritmen på denne snedige grafen

42 V2012, oppgave 1a

43 Minimale spenntrær

44 Annet eksempel

45 Minimale spenntrær Abstraksjon Spenntre Et utvalg kanter i en (urettet og sammenhengende) graf som danner et tre på en slik måte at alle noder er med i treet. Minimale spenntrær Spenntrær som minimerer summen av kantvekter i treet Hvordan kan vi finne et slikt minimalt spenntre?

46 Vi gjør det grådig Lokalt optimaliserte valg gir oss en globalt optimal løsning Legge til en og en trygg kant

47 Teorem 23.1 Snitt

48 Teorem 23.1 (lett kant trygg kant) Trygg / lett kant (u, v) ---- Kanter vi vet tilhører et minimalt spenntre (A) Et snitt som respekterer A Vanlig kant Lett kant: minimal kant som krysser snittet ----

49 Kruskal Sorter alle kanter etter stigende kantvekt Legg til kanter så lenge de ikke lager en sykel Hvorfor vil dette fungere (i henhold til teorem 23.1)? Kjøretid Implementasjonsavhengig O(E lg V) hvis man bruker disjoint-set forest

50 Prim Start med en tilfeldig node som startnode til treet T Legg hele tiden til billigste kant som utvider treet T med en ny node Hvorfor vil dette fungere (i henhold til teorem 23.1)? Kjøretid Kommer an på hvordan vi lager prioritetskøen Binary heap: O(E lg V) Fibonacci heap: O(E + V lg V) (ikke pensum)

51 H2011, oppgave 1b

52 H2014, oppgave 1d

53 H10, oppgave 5a

54 Kjøretid

55 2 1

56 2 2 x sortering 1 1

57

58 n3

59 n3 n2

60 O

61 Θ О Ω

62 H2012, 1a

63 Worst/best case vs. O/Ω

64 H2012, oppgave 2c

65 Hvordan finne kjøretid?

66 Kahoot!

67 Rekurrenser

68 Hvordan løse? Iterasjon Rekursjonstre Variabelskifte Substitusjonsmetoden Masterteoremet

69 Iterasjon T(n) = 2T(n-1) + 2n Fo rov er? r? Ba k e ov

70 H2012, oppgave 1L) - Rekursjonstre

71 T(n) = 3T(n/4) + cn2

72 T(n) = 3T(n/4) + cn2

73 H2012, oppgave 1L) - variabelskifte

74

75 H2012, oppgave 1L) - substitusjonsmetoden

76

77 H2012, oppgave 1L) - masterteoremet

78 H2010, oppgave 4

79 Heap

80 MAX-HEAPIFY

81 BUILD-HEAP

82 HEAPSORT

83 INCREASE-KEY

84 H2010, oppgave 2a

85 Sortering

86 Hvilke egenskaper kan en sorteringsalgoritme ha? Sammenligning / ikke sammenligning Best / Average / Worst case kjøretid Minneforbruk - in-place? Stabil Parallelliserbar Konstanter?

87 Sorteringsalgoritmer Sammenligning Uten sammenligning Treigt aka O(n2) O(n) Bubble Insertion Selection Optimalt aka O(n lg n) Heapsort Merge sort Quicksort Counting sort Radix sort Bucket sort

88 Bubble sort Sammenligning Ja Best Θ(n) Average Θ(n2) Worst Θ(n2) Minne Θ(1) In-place Ja Stabil Ja Parallelliserbar Nei

89 Insertion sort Sammenligning Ja Best Θ(n) Average Θ(n2) Worst Θ(n2) Minne Θ(1) In-place Ja Stabil Ja Parallelliserbar Nei

90 Selection sort Sammenligning Ja Best Θ(n2) Average Θ(n2) Worst Θ(n2) Minne Θ(1) In-place Ja Stabil Nei Parallelliserbar Nei

91 Heapsort Sammenligning Ja Best O(n lg n) Average O(n lg n) Worst O(n lg n) Minne Θ(1) In-place Ja Stabil Nei Parallelliserbar Nei

92 Quicksort Sammenligning Ja Best Θ(n lg n) Average Θ(n lg n) Worst Θ(n2) Minne Θ(lg n) In-place Ja Stabil Nei Parallelliserbar Ja Kan finne et bestemt tall i rekkefølgen med PARTITION i lineær tid!

93 Merge sort Sammenligning Ja Best Θ(n lg n) Average Θ(n lg n) Worst Θ(n lg n) Minne Θ(n) In-place Nei Stabil Ja Parallelliserbar Ja

94 Counting sort Sammenligning Nei Best Θ(n + k) Average Θ(n + k) Worst Θ(n + k) Minne Θ(n + k) In-place Nei Stabil Ja Parallelliserbar Nei

95 Radix sort Sammenligning Nei Best Θ(d(n + k)) Average Θ(d(n + k)) Worst Θ(d(n + k)) Minne Θ(n + k) In-place Nei Stabil Ja Parallelliserbar Nei

96 Bucket sort Sammenligning Nei Best Θ(n) Average Θ(n) Worst Θ(n2) Minne Θ(n) In-place Nei Stabil Ja Parallelliserbar Nei

97 Hvor fort kan vi gå?

98 H2011, oppgave 2c

99 H2010, oppgave 1g

100 H2014, oppgave 3a

101 H2014, oppgave 3b

102 Korteste vei - en til alle

103 Eksempel på bruk

104 Eksempel på bruk

105 Eksempel på bruk

106 Negative kanter

107 Gøy med negative kanter Profitt =

108 Negative sykler er ikke alltid et problem

109 Positive sykler

110 Abstraksjon Vi har en rettet vektet graf G = (V, E) og skal finne korteste vei fra s til t. En korteste vei til node t er en sti fra t til s som minimerer summen av kantvektene langs stien.

111 Optimal substruktur!

112 Relaxation INITIALIZE-SINGLE-SOURCE (G, s) for each vertex v G.V v.d = v.π = NIL s.d = 0 RELAX (u, v, w) if v.d > u.d + w(u,v) v.d = u.d + w(u,v) v.π = u u.d = 3 u w(u,v) = 2 v.d = 8 5 v

113 H2014, oppgave 2b

114 DAG Shortest Path Topologisk sorter grafen For hver node u i den topologiske ordningen: For hver nabo v av u: Relax(u, v) La oss finne korteste vei fra A! Hvorfor fungerer dette? Kjøretid Topologisk sortering: Initialisere nodeavstander: Relax: Totalt: Θ(E + V) Θ(V) Θ(E) tiv n re i ha rh e Θ(E + V) Hv kj as v vis D en g t in e rd e a ga ne el? k y s! G DA

115 Bellman-Ford La oss gå løs på denne! Gjør V - 1 ganger: For alle kanter (u,v): Relax(u,v) Kjøretid Θ(VE)

116 Hvorfor fungerer Bellman-Ford?

117 Negative sykler i Bellman-Ford

118 La oss kjøre Dijkstra på denne! Dijkstra La Q være en min-prioritetskø Legg alle noder i Q Så lenge Q ikke er tom: u = Q.pop() for hver nabo v av u: Relax(u,v) Kjøretid: V Innsettinger og pop inger E Relax Array: O(V2) Binary heap: O((V + E) lg V) Array Binary Heap Innsetting Pop Oppdater 1 V 1 log V log V log V

119 Hvorfor fungerer Dijkstra? Når vi pop er u vil u.d være korteste vei. Altså: Når vi velger å besøke node u har vi allerede funnet korteste vei til u. Hvorfor?

120 Negative kanter og Dijksktra Den som venter på noe godt... Dijkstra + negative kanter sant

121 H2013, oppgave 11

122 Kahoot!

123 Maks flyt

124 Kapasitet begge veier i boka

125 Residual-nettverk

126 Kansellere / reversere flyt 0/3

127 Kansellere / reversere flyt 2/3 2 2

128 Kansellere / reversere flyt 1/3 1 1

129 Kansellere / reversere flyt 2 2

130 Kansellere / reversere flyt 1 1

131 Kansellere / reversere flyt 2/

132 Flytforøkende sti

133 Ford-Fulkersons metode Så lenge du finner en flytforøkende sti Øk flyten langs denne stien så mye som mulig

134

135

136 Ford-Fulkerson kjøretid? Finne flytforøkende sti: Θ(V + E) aka Θ(E) i en sammenhengende graf Hvor mange ganger må vi finne flytforøkende sti? O( f* ) O(E f* )

137 Edmond-Karp Bruk bredde først søk til å finne flytforøkende sti i Ford-Fulkerson Trenger kun finne flytforøkende sti O(VE) ganger O(VE2)

138 Maks flyt vs. min snitt

139 Maks flyt vs. min kutt s t

140 Maks flyt vs. min kutt s t

141 Maks flyt vs. min kutt s t

142 Maks flyt vs. min kutt S s t T

143 H2014, oppgave 4b

144 H2011, oppgave 2d

145 H2010, oppgave 6a

146 H2010, oppgave 6a Fag Forelesere s t

147 H2010, oppgave 6b

148 H2010, oppgave 6b Kollisjonsgrupe Forelesere Fag s t

149 Dynamisk Programmering - motivasjon Fibonacci-tall

150 Fibonacci def fib(n): if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) La oss prøve å kjøre den på noen n er! Det er jo kjempetregt! po s k E ell i t n ne! d i t e kjør fib(5)

151 Forbedre Fibonacci Vi må utnytte de overlappende delproblemene 3 i <! d et r ø j k r æ e n i L La oss prøvekjøre vidunderet! fib(5)

152 Enda bedre? Også lineær kjøretid <3 La oss prøvekjøre denne

153 Fibonacci Det er en DAG! Vi løste den i motsatt topologisk rekkefølge 0 1

154 Dynamisk programmering Naiv (dum) løsning: Lett, men eksponentiell tid Memoisering Lineær tid Bottom up Lineær tid Problemer som består av delproblemer Delproblemene overlapper (brukes flere ganger) Som regel er vi interessert i optimaliseringsproblemer La oss se på et

155 Rod Cutting = 20 Optimal substruktur 1 $1 2 $5 3 $8 4 $9 5 $10 6 $17 7 $17 8 $20 9 $24 10 $30

156 Rod Cutting rn: maks avkastning for stang av lengde n pn: prisen for en stang av lengde n rn = max(pn, r1+rn-1, r2+rn-2,, rn-2+r2, rn-1+r1) 1 $1 2 $5 3 $8 4 $9 5 $10 6 $17 7 $17 8 $20 9 $24 10 $30

157 Rod Cutting 1 $1 2 $5 3 $8 4 $9 5 $10 6 $17 7 $17 Eksponentiell kjøretid :-( 8 $20 Men vi kan memoisere :-) 9 $24 Hva blir kjøretiden da? 10 $30 rn: maks avkastning for stang av lengde n pn: prisen for en stang av lengde n CUT-ROD(p,n) if n == 0 return 0 q = - for i = 1 to n q = max(q, p[i] + CUT-ROD(p, n-i)) return q

158 Rod Cutting rn: maks avkastning for stang av lengde n pn: prisen for en stang av lengde n Hva hvis vi skal bygge løsningen nedenfra og opp? La oss prøve å gjøre det 1 $1 2 $5 3 $8 4 $9 5 $10 6 $17 7 $17 8 $20 i $24 r[i] $30

159 Rod Cutting 1 $1 2 $5 3 $8 4 $9 5 $10 6 $17 Hva blir kjøretiden? 7 $17 Θ(n2) Akkurat som memoisering 8 $20 9 $24 10 $30 rn: maks avkastning for stang av lengde n pn: prisen for en stang av lengde n BOTTOM-UP-CUT-ROD(p, n) let r[0..n] be a new array r[0] = 0 for j = 1 to n q = - for i = 1 to j q = max(q, p[i] + r[j - i]) r[j] = q return r[n]

160 Hva skjedde nå? Delproblem-grafen Problemet vårt hadde optimal substruktur Problemet hadde overlappende delproblemer Vi sørget for å løse et delproblem kun én gang, og effektivt byttet lagringsplass mot bedre kjøretid Vi behandlet problemene i omvendt topologisk rekkefølge

161 Abstraksjon Vi må ha: Optimal substruktur Overlappende delproblemer

162 DP-algoritmer dere kjenner fra før DAG Shortest Path Bellman-Ford Floyd-Warshall

163 Floyd Warshall Noder man kan gå innom Noder man ikke kan gå innom k k j i Alle noder

164 Obs! For å ha optimal delstruktur må delproblemene være uavhengige! Lengste enkle sti q r t For å ha optimal delstruktur må q r og r t være lengste stier også Det er de ikke! Delproblemene er ikke uavhengige

165 Så hvordan går vi fram? Beskriv/karakteriser strukturen til en optimal løsning (definer problem-parametere og finn delproblem-dag en) - tenk på hvilke valg som må gjøres Definer rekursivt verdien til en optimal løsning Regn ut verdien til en optimal løsning (og husk valgene du gjør) Bygg opp en optimal løsning basert på beregnet informasjon

166 H2012, oppgave 1f

167 Knapsack w i-2 vi-2 = $3 wi-2 = 2L i-1 vi-1 = $2 wi-1 = 2L i vi = $5 wi = 3L i+1 i+2 vi+1 = $7 wi+1 = 5L vi+2 = $2 wi+1 = 1L

168 Knapsack - Ikke ta med i w i-2 vi-2 = $3 wi-2 = 2L i-1 vi-1 = $2 wi-1 = 2L i vi = $5 wi = 3L i+1 i+2 vi+1 = $7 wi+1 = 5L vi+2 = $2 wi+1 = 1L

169 Knapsack - Ta med i w - wi i-2 vi-2 = $3 wi-2 = 2L i-1 vi-1 = $2 wi-1 = 2L i vi = $5 wi = 3L i+1 i+2 vi+1 = $7 wi+1 = 5L vi+2 = $2 wi+1 = 1L

170 i-2 vi-2 = $3 wi-2 = 2L i-1 vi-1 = $2 wi-1 = 2L vi = $5 wi = 3L Knapsack - wi > w w i i+1 i+2 vi+1 = $7 wi+1 = 5L vi+2 = $2 wi+1 = 1L

171 i-2 vi-2 = $3 wi-2 = 2L i-1 vi-1 = $2 wi-1 = 2L vi = $5 wi = 3L Knapsack - wi > w w i i+1 i+2 vi+1 = $7 wi+1 = 5L vi+2 = $2 wi+1 = 1L

172 i-2 vi-2 = $3 wi-2 = 2L i-1 vi-1 = $2 wi-1 = 2L vi = $5 wi = 3L Knapsack - i = 0 w i i+1 i+2 vi+1 = $7 wi+1 = 5L vi+2 = $2 wi+1 = 1L

173 NPC

174 P

175 NP

176 P NP

177 Reduksjon X P Y

178 NPC NP-Complete Må være i NP Må være minst like vanskelig som alle andre problemer i NP (NP-Hard hvis 2. er oppfylt, men ikke nødvendigvis 1)

179 ???????? P=NP???????

180 Hva kan vi bruke det til? NPC-problem P Ditt problem

181 Hetland sin fjell-sammenligning

182 Hva vi har å ta av

183 H2013, oppgave 9

184 H2008, oppgave 1f

185 H2014, oppgave 7a

186 Kahoot!

Algdat - øvingsforelesning

Algdat - øvingsforelesning Algdat - øvingsforelesning Dynamisk programmering Nils Barlaug Dagens plan 1. 2. 3. 4. Praktisk og dagens plan LF øving 8 a. Teori b. Praksis Dynamisk programmering a. Introduksjon b. Rod Cutting c. Matrise-multiplikasjon

Detaljer

Algdat - øvingsforelesning

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

Detaljer

Teoriøving 7 + litt om Ford-Fulkerson. Magnus Lie Hetland

Teoriø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):

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

ALGORITMER OG DATASTRUKTURER

ALGORITMER OG DATASTRUKTURER Stud. nr: Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

Øvingsforelesning Korteste vei: Alle til alle

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

Detaljer

Eksamen i tdt4120 Algoritmer og datastrukturer

Eksamen 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

Detaljer

ALGORITMER OG DATASTRUKTURER

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

Detaljer

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.

Dijkstras 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

Detaljer

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

Ekstra 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

Detaljer

Algdat-ninja på 60 minutter: Et galskapsprosjekt. Magnus Lie Hetland

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

Detaljer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

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

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

Øvingsforelesning 12 Maks flyt

Øvingsforelesning 12 Maks flyt Øvingsforelesning 12 Maks flyt Ole Kristian Pedersen 9. november 2018 ] Plan for dagen Maksimal flyt og minimale snitt Maksimal bipartitt matching Tidligere eksamensoppgaver Introduksjon øving 12 Hva er

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende 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

Lineær sortering. Radix sort

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

Detaljer

Heapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer

Heapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer Heapsort Lars Vidar Magnusson 24.1.2014 Kapittel 6 Heaps Heapsort Prioritetskøer Sorterings Problemet Sorterings problemet er et av de mest fundementalske problemene innen informatikken. Vi sorterer typisk

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

Detaljer

Løsningsforslag - Korteste vei

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

Detaljer

Fra A til B. Syvende forelesning

Fra 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

Detaljer

Rundt og rundt og. Trettende forelesning

Rundt og rundt og. Trettende forelesning Nettverksalgoritmer. Anvendelser og generaliseringer. Sirkulasjonsproblemet/ lineær programmering. (Kap. 29.1-29.2) Rundt og rundt og Trettende forelesning 1 Merk: Ikke sikkert alt dette blir gjennomgått

Detaljer

Øvingsforelesning 6. Sorteringsalgoritmer. Martin Kirkholt Melhus Basert på foiler av Kristian Veøy 30/09/14 1

Øvingsforelesning 6. Sorteringsalgoritmer. Martin Kirkholt Melhus Basert på foiler av Kristian Veøy 30/09/14 1 Øvingsforelesning 6 Sorteringsalgoritmer Martin Kirkholt Melhus martme@stud.ntnu.no Basert på foiler av Kristian Veøy 30/09/14 1 Agenda l Spørsmål fra øving 4 l Sortering l Presentasjon av øving 6 30/09/14

Detaljer

Agenda. 1 Sortering, heap og select. 2 Binære trær. 3 Grafer, BFS og DFS. 4 Spenntrær og Korteste vei. 5 Maks flyt. 6 Dynamisk programmering

Agenda. 1 Sortering, heap og select. 2 Binære trær. 3 Grafer, BFS og DFS. 4 Spenntrær og Korteste vei. 5 Maks flyt. 6 Dynamisk programmering Agenda 1 Sortering, heap og select Oppsummering Ola Natvig IDI - NTNU 23. november 2007 2 Binære trær 3 Grafer, BFS og DFS 4 Spenntrær og Korteste vei 5 Maks flyt 6 Dynamisk programmering 7 Grådighet 8

Detaljer

Go 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å. 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

Detaljer

Algdat - Øvingsforelesning. Maks flyt

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

Detaljer

Kontinuasjonseksamen i fag SIF8010 Algoritmer og Datastrukturer Torsdag 9. August 2001, kl

Kontinuasjonseksamen i fag SIF8010 Algoritmer og Datastrukturer Torsdag 9. August 2001, kl Student nr.: Side 1 av 5 Kontinuasjonseksamen i fag SIF8010 Algoritmer og Datastrukturer Torsdag 9. August 2001, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

All good things. Fjortende forelesning

All 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

Detaljer

ALGORITMER OG DATASTRUKTURER

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

Detaljer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende 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

Dijkstras algoritme Spørsmål

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

Detaljer

O(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+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.

Detaljer

ALGORITMER OG DATASTRUKTURER

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

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

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

Detaljer

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.

Dijkstras 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

Detaljer

IN Algoritmer og datastrukturer

IN 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

Detaljer

LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105)

LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105) Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 Faglig kontakt under eksamen: Magnus Lie Hetland LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER

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

Detaljer

deeegimnoorrrsstt Sjette forelesning

deeegimnoorrrsstt Sjette forelesning deeegimnoorrrsstt Sjette forelesning 1 2 Bellman-Ford BFS/DFS Binære søketrær Binærsøk Bubblesort Bucket sort Counting sort Dijkstra DAGshortest-path Edmonds- Karp Floyd- Warshall Hashing Heapsort Huffmankoding

Detaljer

Alle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder.

Alle 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

Detaljer

Pensum: 3. utg av Cormen et al. Øvingstime: I morgen, 14:15

Pensum: 3. utg av Cormen et al. Øvingstime: I morgen, 14:15 http://www.idi.ntnu.no/~algdat algdat@idi.ntnu.no Pensum: 3. utg av Cormen et al. Øvingstime: I morgen, 14:15 b c g a f d e h The pitch drop experiment. Foreløpig kjørt fra 1927 til nå. Åtte dråper har

Detaljer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

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

Detaljer

Algdat Oppsummering, eksamen-ting. Jim Frode Hoff

Algdat Oppsummering, eksamen-ting. Jim Frode Hoff Algdat Oppsummering, eksamen-ting Jim Frode Hoff November 18, 2012 1 Definisjoner 1.1 Ordliste Problem Probleminstans Iterasjon Asymtpoisk notasjon O(x) kjøretid Ω(x) kjøretid Θ(x) kjøretid T (x) kjøretid

Detaljer

Løsningsforslag for eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl

Lø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:

Detaljer

Løsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl

Lø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.

Detaljer

Minimum Spenntrær - Kruskal & Prim

Minimum 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

Detaljer

Øvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy

Øvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy Øvingsforelesning 6 Sorteringsalgoritmer Kristian Veøy veoy@stud.ntnu.no 26.09.08 1 Spørsmål fra øvingsgruppene Må jeg kunne python på eksamen? (Nei) Er det lurt å gjøre alle programmeringsøvingene? (Ikke

Detaljer

Løsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl

Lø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,

Detaljer

Maks Flyt og NPkompletthet

Maks Flyt og NPkompletthet Maks Flyt og NPkompletthet Flyt - Intro Mange av oppgavene om flyt handler om å se at Dette kan vi løse som et flytproblem. Resten er som regel kortsvarsoppgaver, og går på grunnleggende forståelse av

Detaljer

Høgskoleni østfold EKSAMEN. 4 dobbeltsidige ark med notater Lars Magnusson

Høgskoleni østfold EKSAMEN. 4 dobbeltsidige ark med notater Lars Magnusson Høgskoleni østfold EKSAMEN Emnekode: ITF 20006 Emne: Algoritmer og Datastrukturer Dato: 22.05.2015 Eksamenstid: kl 09.00 til kl 13.00 Hjelpemidler: Faglærer: 4 dobbeltsidige ark med notater Lars Magnusson

Detaljer

n/b log b n = (lg n) a log b n = n log b a

n/b log b n = (lg n) a log b n = n log b a Masterteoremet 1 T (n) = at (n/b) + f(n) Antall «barn»: Størrelse per «barn»: «Høyde»: a n/b log b n = (lg n) Rota har f(n) arbeid; hver løvnode har en konstant mengde arbeid. Hva vil dominere totalen?

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

Detaljer

INF Algoritmer og datastrukturer

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

Detaljer

for bare trær Andre forelesning

for 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

Live life and be merry

Live 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] D&C Bellman-Ford BFS/DFS Binære søketrær LP Binærsøk

Detaljer

All good things. Fjortende forelesning

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

Detaljer

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl Student nr.: Side 1 av 5 Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle kalkulatortyper

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Dynamisk programmering (Ifi, UiO) INF2220 H2017, forelesning 13 1 / 30 Dagens plan Dynamisk

Detaljer

Grunnleggende Grafteori

Grunnleggende 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

Detaljer

Pensum: fra boken (H-03)+ forelesninger

Pensum: 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.

Detaljer

Pensum: fra boken (H-03)+ forelesninger

Pensum: 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.

Detaljer

Longest increasing. subsequence Betingelser. Longest. common subsequence. Knapsack Grådig vs. DP Moro: 2D-Nim Spørsmål. Forside. Repetisjon.

Longest increasing. subsequence Betingelser. Longest. common subsequence. Knapsack Grådig vs. DP Moro: 2D-Nim Spørsmål. Forside. Repetisjon. :: :: Dynamisk programmering Eksamenskurs Åsmund Eldhuset asmunde *at* stud.ntnu.no folk.ntnu.no/asmunde/algdat/dp.ppt Svært rask repetisjon Noen ganger (f.eks. ved utregning av Fibonaccitall) vil en rekursiv

Detaljer

deeegimnoorrrsstt Sjette forelesning

deeegimnoorrrsstt Sjette forelesning deeegimnoorrrsstt Sjette forelesning 1 2 Rebus. Hva er dette? Svar: Kvadratiske sorteringsalgoritmer :-> Som vanlig relativt abstrakte beskrivelser her. Ta en titt på pseudokode i boka for mer detaljert

Detaljer

Kjøretidsanalyse. Hogne Jørgensen

Kjøretidsanalyse. Hogne Jørgensen Kjøretidsanalyse Hogne Jørgensen Program Presentasjon/tips til Øving 5 Kompleksitetsanalyse Kahoot Rekurrensligninger Kahoot 2 Øving 5 Veibygging i Ogligogo Finne dyreste kant i minimalt spenntre Prim

Detaljer

Eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl

Eksamen 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

Detaljer

ALGORITMER OG DATASTRUKTURER

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

Detaljer

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl Student nr.: Side 1 av 7 Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle kalkulatortyper

Detaljer

Øvingsforelesning 3: Splitt og hersk. Daniel Solberg

Øvingsforelesning 3: Splitt og hersk. Daniel Solberg Øvingsforelesning 3: Splitt og hersk Daniel Solberg Plan for dagen Vi går raskt gjennom øving 2 Splitt og hersk Algoritmer: Mergesort Quicksort Binærsøk Rekurrenser, masse rekurrenser 2 Splitt og hersk

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

Øvingsforelesning 9. Flytnettverk, maksimum flyt og maksimum bipartitt matching. Jon Marius Venstad

Øvingsforelesning 9. Flytnettverk, maksimum flyt og maksimum bipartitt matching. Jon Marius Venstad Øvingsforelesning 9 Flytnettverk, maksimum flyt og maksimum bipartitt matching Jon Marius Venstad venstad@idi.ntnu.no 1 Dagens tema Flytnettverk Terminologi Max-flow min-cut teoremet Ford-Fulkersons metode

Detaljer

IN Algoritmer og datastrukturer

IN 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

Detaljer

Algdat Redux. Fjortende forelesning. Repetisjon av utvalgte emner.

Algdat 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

Detaljer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 13. august 2012 Eksamenstid 0900 1300 Sensurdato 3. september Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.

Detaljer

Notater til INF2220 Eksamen

Notater til INF2220 Eksamen Notater til INF2220 Eksamen Lars Bjørlykke Kristiansen December 13, 2011 Stor O notasjon Funksjon Navn 1 Konstant log n Logaritmisk n Lineær n log n n 2 Kvadratisk n 3 Kubisk 2 n Eksponensiell n! Trær

Detaljer

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

Detaljer

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning EKSAMEN I KLASSE LVD525 Videregående algoritmer : 3DA og 3DB DATO :. april 2005 ANTALL OPPGAVER : 4 ANTALL SIDER : 4 VEDLEGG : side HJELPEMIDLER : ingen

Detaljer

INF2220: Time 12 - Sortering

INF2220: Time 12 - Sortering INF0: Time 1 - Sortering Mathias Lohne mathialo Noen algoritmer Vi skal nå se på noen konkrete sorteringsalgoritmer. Gjennomgående i alle eksempler vil vi sortere tall etter tallverdi, men som diskutert

Detaljer

Choices, choices. Tiende forelesning. Dynamisk programmering: En serie med valg der valgmulighetene er avhengige av hva vi har valgt før.

Choices, choices. Tiende forelesning. Dynamisk programmering: En serie med valg der valgmulighetene er avhengige av hva vi har valgt før. Choices, choices Tiende forelesning Dynamisk programmering: En serie med valg der valgmulighetene er avhengige av hva vi har valgt før. DAG- SP er erkeeksemplet (og den underliggende modellen for all DP).

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 918 51 949 Eksamensdato 12. august, 2014 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode D.

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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 0. desember, 08 Eksamenstid

Detaljer

O, what a tangled. Fjerde forelesning. Robot-eksemplet som ikke ble gjennomgått sist blir frivillig selvstudium (ut fra foilene :-)

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

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 10

PG4200 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

Detaljer

Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl

Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl Student nr.: Side 1 av 7 Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler:

Detaljer

INF Algoritmer og datastrukturer

INF 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

Detaljer

Live life and be merry

Live 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

Detaljer

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

Detaljer

Løsningsforslag for utvalgte oppgaver fra kapittel 9

Lø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............................

Detaljer

Longest. increasing. subsequence. Betingelser. Matrise- common. Grådig vs. DP. Forside. Intro. Fibonacci-tall. Memoisering DP

Longest. increasing. subsequence. Betingelser. Matrise- common. Grådig vs. DP. Forside. Intro. Fibonacci-tall. Memoisering DP og dynamisk Matrisemultiplikasjomultiplikasjon programmering Matrise- Åsmund Eldhuset og Dette er to ganske like teknikker for å lage algoritmer De kan brukes på svært mange tilsynelatende forskjellige

Detaljer

Innhold. Innledning 1

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

Detaljer

Faglærer går normalt én runde gjennom lokalet. Ha evt. spørsmål klare!

Faglærer går normalt én runde gjennom lokalet. Ha evt. spørsmål klare! Side 1 av 6 Noe viktige pukter: (i) (ii) (iii) (iv) Les hele eksamessettet øye før du begyer! Faglærer går ormalt é rude gjeom lokalet. Ha evt. spørsmål klare! Skriv svaree die i svarrutee og levér i oppgavearket.

Detaljer

Grådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder

Grådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder Grådige Algoritmer Lars Vidar Magnusson 12.3.2014 Kapittel 16 Grådige algoritmer Aktivitetvelgingsproblemet Huffmankoder Ideen bak Grådige Algoritmer Ideen bak grådige algoritmer er å løse optimaliseringsproblem

Detaljer

KORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf

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

Detaljer

Korteste Vei I. Lars Vidar Magnusson 9.4.2014. Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei

Korteste Vei I. Lars Vidar Magnusson 9.4.2014. Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei Korteste Vei I Lars Vidar Magnusson 9.4.2014 Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei Korteste Vei Problemet I denne forelesningen skal vi se på hvordan vi kan finne korteste

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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 0. desember, 08 Eksamenstid

Detaljer

SIF8010 ALGORITMER OG DATASTRUKTURER

SIF8010 ALGORITMER OG DATASTRUKTURER SIF8010 ALGORITMER OG DATASTRUKTURER KONTINUASJONSEKSAMEN, 1999; LØSNINGSFORSLAG Oppgave 1 (12%) Anta at du skal lage et støtteprogram som umiddelbart skal varsle om at et ord blir skrevet feil under inntasting

Detaljer