PG4200 Algoritmer og datastrukturer forelesning 10. Lars Sydnes 21. november 2014

Størrelse: px
Begynne med side:

Download "PG4200 Algoritmer og datastrukturer forelesning 10. Lars Sydnes 21. november 2014"

Transkript

1 PG4200 Algoritmer og datastrukturer forelesning 10 Lars Sydnes 21. november 2014

2 I Grafer

3 Grafisk fremstilling av en graf D A B C Ikke-rettet graf

4 Grafisk fremstilling av en graf D A B C Rettet graf

5 Grafisk fremstilling av en graf D 1 A 2 B C Ikke-rettet vektet graf

6 Grafisk fremstilling av en graf D 1 A 2 B C Rettet vektet graf

7 Grafer I dagligtale : En visuell fremstilling. Her: Selve strukturen Man kan tegne opp en graf på mange måter Strukturen = det som er uavhengig av fremstillingen

8 Grafer I dagligtale : En visuell fremstilling. Her: Selve strukturen Man kan tegne opp en graf på mange måter Strukturen = det som er uavhengig av fremstillingen Mange interessante problemer kan uttrykkes ved grafer. Dette er grunnen til at grafer regnes som så viktige.

9 Grafer I dagligtale : En visuell fremstilling. Her: Selve strukturen Man kan tegne opp en graf på mange måter Strukturen = det som er uavhengig av fremstillingen Mange interessante problemer kan uttrykkes ved grafer. Dette er grunnen til at grafer regnes som så viktige. Grafer brukes gjerne til å fremstille relasjoner mellom objekter. Representasjon av struktur i datasettet.

10 Grafer Byggesteiner node kant rettet kant vektet kant 3.4 vektet rettet kant 3.4

11 Grafer Terminologi Ikke-rettet graf: Kantene har ikke retning. Rettet graf: Kantene har retning: Fra A til B. Kalles digraph. Ikke-vektet graf: Kantene har ikke vekt. Vektet graf: Kantene har vekt. Ulike kombinasjoner: Ikke-rettet vektet graf Rettet vektet graf Rettet ikke-vektet graf Ikke-vektet ikke-rettet graf

12 II Eksempler

13 Eksempel: Referanser en rettet graf Double another Object obj void main Integer number funksjon Object data

14 Eksempel: Referanser og Garbage Collector Sett obj = null i main: Double another Object obj void main Integer number funksjon Object data Søppelåndteringen (gc) kan nå gjøre jobben sin og slette obj. Men, den må unngå å slette number.

15 Eksempel: Funksjonskall Noder = funksjoner Kanter = funksjonskall void main mergesort merge

16 Datanettverk Andre eksempler

17 Andre eksempler Datanettverk Worldwide web

18 Andre eksempler Datanettverk Worldwide web Geometriske nettverk: Posisjoner og veier i en spill-verden. Vekt = avstand. Flyplasser og flyruter. Vekt = pris.

19 Andre eksempler Datanettverk Worldwide web Geometriske nettverk: Posisjoner og veier i en spill-verden. Vekt = avstand. Flyplasser og flyruter. Vekt = pris. Avhengighet mellom operasjoner: Rettet graf. Kant fra A til B når operasjonen B forutsetter at A er fullført.

20 Andre eksempler Datanettverk Worldwide web Geometriske nettverk: Posisjoner og veier i en spill-verden. Vekt = avstand. Flyplasser og flyruter. Vekt = pris. Avhengighet mellom operasjoner: Rettet graf. Kant fra A til B når operasjonen B forutsetter at A er fullført. Problemer som vi ønsker å løse med algoritmer.

21 Eksempel: Modell av flyplassnettverk Ålesund Trondheim Bergen 549 Oslo Hvordan kan vi reise fra Ålesund til Trondheim? Hva er den billigste veien fra Ålesund til Trondheim?

22 III Graf-algoritmer

23 Traversering Vi ønsker å besøke alle nodene i en graf. Hvor skal vi starte? Rekkefølge? public Iterator<Node> iterator(){ /*...*/ } Trær er eksempler på grafer, og vi har Bredde først = Level order Dybde først = preorder, postorder

24 Traversering Bredde først Vi starter i en villkårlig utvalgt node. Besøk alle naboene til startnoden (avstand = ett steg). Besøk naboene til naboene (avstand = to steg) Besøk alle nodene i avstand 3, avstand 4, et.c.

25 Traversering Dybde først Vi starter i en villkårlig utvalgt node. Vi går til det første barnet. Vi går til det første barnebarnet... Vi går til det andre barnet Vi går til det andre barnets første barnebarn... Dybde først vs Bredde først Et uhyre viktig begrepspar!

26 Traversering Kode Å forstå et dataprogram. Rettet graf av referanser (Objekter, funksjoner) som det gjøres operasjoner på. Ulike deler av koden skrives, presenteres og leses sekvensielt (av mennesker og maskin) Tenker du dybde først eller bredde først når du skriver kode?

27 Konkretisering: Representasjon av grafer Tegninger / Grafikk Naboskapsmatriser Naboskapslister. Graph.java EdgeWeightedDigraph.java

28 Konkretisering: Traversering DepthFirstPaths.java BreadthFirstPaths.java

29 Finn korteste vei (Pathfinding) Finn korteste vei fra A til B. Bruk bredde først-traversering med utgangspunkt i A. Første gangen B dukker opp, har vi funnet den korteste veien. Dijkstras algoritme: Variant av bredde først-søk. Bygg alle mulige veier med utgangspunkt i A. Arbeid på det korteste alternativet. Fortsett arbeidet helt til det dukker opp en vei som ender i B. A -algoritmen: Forbedret variant av Dijkstras algoritme. Brukes når vi kan estimere avstandene.

30 Dijkstras algoritme: Ålesund til Trondheim 399 Ålesund Trondheim 599 Bergen 549 Oslo

31 Dijkstras algoritme: Ålesund til Trondheim 399 Ålesund Trondheim Ålesund Trondheim 599 Bergen 549 Oslo Bergen 549 Oslo

32 Dijkstras algoritme: Ålesund til Trondheim 399 Ålesund Trondheim Ålesund Trondheim 599 Bergen 549 Oslo Bergen 549 Oslo 399 Ålesund Trondheim 599 Bergen 549 Oslo

33 Dijkstras algoritme: Ålesund til Trondheim 399 Ålesund Trondheim Ålesund Trondheim 599 Bergen 549 Oslo Bergen 549 Oslo 399 Ålesund Trondheim Ålesund Trondheim 599 Bergen 549 Oslo Bergen 549 Oslo

34 Dijkstras algoritme: Implementasjon Hvilke noder har vi allerede besøkt? Hva er den korteste tilgjengelige veien? Alternativene kan legges i en prioritetskø (heap). Køoperasjoner med logaritmisk kjøretid.

35 Konkretisering: Implementasjon DijkstraSP.java

36 Worst case-analyse Når vi må vurdere alle kantene. La V være antall noder i grafen og E antallet kanter. Vi undersøker maksimalt V veier. Heap kjøretid O(log V ) for lagring og henting av veier. Dette skjer maksimalt E ganger kjøretid O(E log V ) // TODO: KONTROLLER DETTE EN GANG TIL

37 A -algoritmen: Korteste vei fra A til B Ny ingrediens: Estimat min(a, B) for korteste mulige avstand mellom A og B. Dijkstras algoritme bedømmer en vei kun etter lengden. A D W E A*-algoritmen bedømmer denne veien etter Lengde(A-D-W-E) + min(e, B).

38 A -algoritmen: Eksempel. 399 Ålesund Trondheim 599 Bergen 249 Stavanger Oslo Estimat basert på geografisk avstand: Minstepris Stavanger - Trondheim = 500kr. A*-algoritmen vil ikke ta Stavanger i betraktning

39 IV Fagevaluering

40 Fagevaluering Gå på it s learning. Ta gjerne opp ting dere har nevnt før, så vi har det dokumentert.

41 V Travelling salesman problem

42 Travelling salesman problem (TSP) Konkret problem Handelsmannen besøke 20 byer. Hva er den korteste/rimeligste/raskeste rundreisen?

43 Travelling salesman problem (TSP) Konkret problem Handelsmannen besøke 20 byer. Hva er den korteste/rimeligste/raskeste rundreisen? Abstrakt problem Finn den korteste rundreisen i en vektet graf.

44 Uttømmende søk int[] tsp(graph graph){ int[] shortestcircuit double minimallength = DOUBLE.MAX_VALUE; for (int[] circ: permutations(graph.vertices())) if (ispath(circ)) continue; } } if (path.length() < minimallength){ shortestpath = path; minimallength = path.length(); }

45 Analyse Vi itererer over alle permutasjoner av nodene. Permutasjon = Omstokking. Kan du permutere kortstokken?

46 Hvor mange permutasjoner finnes det Name and conquer: P n = Antall permutasjoner av n elementer 1, 2, 3,..., n P n 1 permutasjoner med 1 først P n 1 permutasjoner med 2 først. P n 1 permutasjoner med n først P n = n P n 1 = n(n 1)P n 2 = = n(n 1)(n 2) 2 1 = n! ulike permutasjoner av de n tallene.

47 Kjøretidsanalyse n = antall noder i grafen. (Antall byer) Antall iterasjoner i den indre løkka $ = P_n =n!$. n! Kjøretid n!

48 Kjøretidsanalyse n = antall noder i grafen. (Antall byer) Antall iterasjoner i den indre løkka $ = P_n =n!$. n! vokser ekstremt raskt. n! Kjøretid n! Når n vokser fra 99 til dobles verdien. Når n vokser fra til milliondobles verdien.

49 Kjøretidsanalyse n = antall noder i grafen. (Antall byer) Antall iterasjoner i den indre løkka $ = P_n =n!$. n! vokser ekstremt raskt. n! Kjøretid n! Når n vokser fra 99 til dobles verdien. Når n vokser fra til milliondobles verdien. 2 n vokser også utrolig raskt, men Når n vokser fra 99 til 100 dobles verdien. Når n vokser fra til dobles verdien.

50 Konsekvens Hvis det tar handelsmannen 1 time å lage en plan for 99 byer, tar det 100 timer å planlegge for 100 byer. ( 5 døgn) 10,000 timer å planlegge for 101 byer ( 1.5 år)

51 Konsekvens Hvis det tar handelsmannen 1 time å lage en plan for 99 byer, tar det 100 timer å planlegge for 100 byer. ( 5 døgn) 10,000 timer å planlegge for 101 byer ( 1.5 år) Altså: Kjøretiden er ekstremt følsom.

52 Spørsmål Det finnes vel noe mer effektivt enn brute-force-metoden?

53 Spørsmål Det finnes vel noe mer effektivt enn brute-force-metoden? Bedre løsninger av problemet: Bedre worst-case kjøretid. (Ikke så viktig) Bedre kjøretid på typiske datasett. (Veldig viktig)

54 Spørsmål Det finnes vel noe mer effektivt enn brute-force-metoden? Bedre løsninger av problemet: Bedre worst-case kjøretid. (Ikke så viktig) Bedre kjøretid på typiske datasett. (Veldig viktig) Raske løsninger av lignende problemer: Finn en vei som ikke er mer enn dobbelt så lang som den korteste. Dette kan gjøres veldig effektivt.

55 VI Uhåndterlige problemer

56 Uhåndterlige problemer Vi har sett mange problemer som vi kan løse innenfor akseptabel kjøretid.

57 Uhåndterlige problemer Vi har sett mange problemer som vi kan løse innenfor akseptabel kjøretid. Men i mange tilfeller har vi ingen kjent akseptabel løsning. ingen kan bevise at det ikke finnes noen akseptabel løsning.

58 Uhåndterlige problemer Vi har sett mange problemer som vi kan løse innenfor akseptabel kjøretid. Men i mange tilfeller har vi ingen kjent akseptabel løsning. ingen kan bevise at det ikke finnes noen akseptabel løsning. Praktisk problem: Lage effektive algoritmer Teoretisk problem: Finne ut hva som er mulig.

59 Polynomisk kjøretid Polynomisk kjøretid i n: der k er en konstant. Kjøretid n k

60 Polynomisk kjøretid Polynomisk kjøretid i n: Kjøretid n k der k er en konstant. Eksponentiell kjøretid: Hvis Kjøretid A n er det lavest mulige estimatet.

61 Polynomisk kjøretid Polynomisk kjøretid i n: Kjøretid n k der k er en konstant. Eksponentiell kjøretid: Hvis Kjøretid A n er det lavest mulige estimatet. Faktoriell kjøretid: Hvis Kjøretid n! er det lavest mulige estimatet.

62 Søkeproblemer: NP Et problem tillhører klassen NP derssom en løsning kan verifiseres innenfor polynomisk kjøretid.

63 Søkeproblemer: NP Et problem tillhører klassen NP derssom en løsning kan verifiseres innenfor polynomisk kjøretid. opplagt brute-force-løsning: Undersøk alle mulige alternativer. (Søk)

64 Søkeproblemer: NP Et problem tillhører klassen NP derssom en løsning kan verifiseres innenfor polynomisk kjøretid. opplagt brute-force-løsning: Undersøk alle mulige alternativer. (Søk) Fra et praktisk synspunkt: Alle problemene vi kan håpe på å håndtere med en datamaskin tilhører klassen NP.

65 Problemklassen P Dette er problemer som har kjente løsninger med polynomisk worst case-kjøretid.

66 Problemklassen P Dette er problemer som har kjente løsninger med polynomisk worst case-kjøretid. Fra et praktisk synspunkt: Dette er de problemene vi kan håndtere med en datamaskin.

67 P = NP? Dette er et spørsmål vi ikke har svar på.

68 P = NP? Dette er et spørsmål vi ikke har svar på. Finnes det noen problemer i klassen NP som ikke ligger i P?

69 P = NP? Dette er et spørsmål vi ikke har svar på. Finnes det noen problemer i klassen NP som ikke ligger i P? Et åpent (og meget vanskelig) forskningsspørsmål.

70 Reduksjon Anta at vi kan løse problemet A innen rimelig kjøretid.

71 Reduksjon Anta at vi kan løse problemet A innen rimelig kjøretid. Metode for å løse en instans b av et problem B: 1 Transformer om til instans a av problemet a. 2 Finn løsningen s a av a. 3 Transformer s a om til s b. løsning s b av problemet B.

72 Reduksjon Anta at vi kan løse problemet A innen rimelig kjøretid. Metode for å løse en instans b av et problem B: 1 Transformer om til instans a av problemet a. 2 Finn løsningen s a av a. 3 Transformer s a om til s b. løsning s b av problemet B. Her har vi redusert B til A Vi kan skrive: B A

73 Reduksjon Anta at vi kan løse problemet A innen rimelig kjøretid. Metode for å løse en instans b av et problem B: 1 Transformer om til instans a av problemet a. 2 Finn løsningen s a av a. 3 Transformer s a om til s b. løsning s b av problemet B. Her har vi redusert B til A Vi kan skrive: B A Problemet A er minst like vanskelig som problemet B.

74 Reduksjon Det finnes en algoritme som transformerer instanser av B om til instanser av A. Innen rimelig tid

75 Reduksjon Det finnes en algoritme som transformerer instanser av B om til instanser av A. Innen rimelig tid Det finnes en algortime som transformerer løsninger av A om til løsninger av B. Innen rimelig tid

76 Kartlegging av problemer Noder = Problemer

77 Kartlegging av problemer Noder = Problemer Kanter = Reduksjoner.

78 Kartlegging av problemer Noder = Problemer Kanter = Reduksjoner. Eksempel: Finne like par i en liste

79 Kartlegging av problemer Noder = Problemer Kanter = Reduksjoner. Eksempel: Finne like par i en liste overgi listen til sortering finne like par reduksjon sortere listen sammenligne naboer

80 Kartlegging av problemer Noder = Problemer Kanter = Reduksjoner. Eksempel: Finne like par i en liste overgi listen til sortering finne like par reduksjon sortere listen sammenligne naboer Vi reduserer problem B til problem A for å løse B.

81 Reduksjon og tunge problemer Anta at vi har en reduksjon B A.

82 Reduksjon og tunge problemer Anta at vi har en reduksjon B A.... løsning av A Løsning av B Problem A er minst like vanskelig som problem B.

83 Reduksjon og tunge problemer Anta at vi har en reduksjon B A.... løsning av A Løsning av B Problem A er minst like vanskelig som problem B. Dersom vi er rimelig sikre på at B er et vanskelig problem så kan vi være like sikre på at A er et vanskelig problem.

84 NP-komplette problemer: Teori NP-komplett problem A Et NP-problem som er slik at ethvert NP-problem B kan reduseres til A.

85 NP-komplette problemer: Teori NP-komplett problem A Et NP-problem som er slik at ethvert NP-problem B kan reduseres til A. NP-hardt problem A Et problem som er slik at ethvert NP-problem B kan reduseres til A. (Nå kan A være ikke-np)

86 NP-komplette problemer: I praksis Vi kan ikke regne med at det finnes algoritmer med akseptabel worst case-kjøretid.

87 NP-komplette problemer: I praksis Vi kan ikke regne med at det finnes algoritmer med akseptabel worst case-kjøretid. Eksempel: To fjell: A,B Det finnes en farbar vei mellom A og B. Vi vet at ingen har lykkes med å bestige A. Bør vi prøve å bestige B?

88 NP-komplette problemer: Botemidler Algoritmer med akseptabel kjøretid i typiske tilfeller. Worst case-kjøretid kan fortsatt være uakseptabel. Løs et enklere problem. Sørg for at rundreisen ikke er mer enn dobbelt så lang som nødvendig. Finn tilnærmede løsninger Matematikk gir mer effektive avisbud

89 Eksempel: Ryggsekkproblemet Problem: Handelsmannen kan ta 1000 kg med last i bilen sin. Han har n gjenstander G 1, G 2,..., G n. Hver gjenstand har salgsverdi v i og vekt w i.

90 Eksempel: Ryggsekkproblemet Problem: Handelsmannen kan ta 1000 kg med last i bilen sin. Han har n gjenstander G 1, G 2,..., G n. Hver gjenstand har salgsverdi v i og vekt w i. Han ønsker å velge ut gjenstander G i1, G i2,..., G ik slik at w i1 + w i2 + + w ik 1000 kg. Målsetningen er at den totale prisen skal være så høy som mulig. v i1 + v i2 + + v ik

91 Sprint-planlegging i Scrum Diskusjon

92 Mer lesning 1 Læreboka Notatet hardproblems.pdf Dette er på norsk og forhåpentligvis lettlest.

93 Fremover Mandag 8.12 Gjennomgang av eksamensoppgave om NP-harde problemer Spørretime/Repetisjon Eksamensoppgaver. Onsdag Eksamen

94 Oppgave Funksjonskallgrafen Ta for dere en del av løsningen av innlevering 1, og tegn opp funksjonskallgrafen. Politikergrafen Filen politikergraf.txt representerer en graf der nodene er politikere. Grafen inneholder en kant mellom to politikere dersom det finnes en avisartikkel som omtaler begge politikerne. Bruk SymbolGraph og BreadthFirstPaths til å rangere stortingspolitikerne etter deres Solberg-tall (Hvor stor er avstanden til Erna Solberg i politikergrafen?) Datane er høstet hos aftenposten.no.

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

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013

NITH 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

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 12

PG4200 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

Detaljer

NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer

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

Detaljer

Grafalgoritmer: Korteste vei

Grafalgoritmer: Korteste vei Grafalgoritmer: Korteste vei Korteste-vei problemer for vektede grafer * Single Source Shortest Path Problem Finn lengden av korteste vei fra én bestemt node til alle andre noder i grafen All-Pairs Shortest

Detaljer

Korteste vei i en vektet graf uten negative kanter

Korteste 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

Detaljer

Anvendelser av grafer

Anvendelser av grafer Grafer Anvendelser av grafer Passer for modeller/datastrukturer med usystematiske forbindelser Ikke-lineære og ikke-hierarkiske koblinger mellom dataobjektene Modellering av nettverk: Veisystemer/rutekart

Detaljer

Løsningsforslag til eksamen i PG4200 Algoritmer og datastrukturer 10. desember 2014

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

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

MED TIDESTIMATER Løsningsforslag

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

Detaljer

Norges Informasjonsteknologiske Høgskole

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

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 3. november 2, kl. 9. - 14. Hjelpemidler: Alle trykte og skrevne hjelpemidler. Kalkulator.

Detaljer

Vi skal se på grafalgoritmer for:

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

Detaljer

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

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

Algoritmeanalyse. (og litt om datastrukturer)

Algoritmeanalyse. (og litt om datastrukturer) Algoritmeanalyse (og litt om datastrukturer) Datastrukturer definisjon En datastruktur er den måten en samling data er organisert på. Datastrukturen kan være ordnet (sortert på en eller annen måte) eller

Detaljer

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 4130: lgoritmer: Design og effektivitet Eksamensdag: 12. desember 2008 Tid for eksamen: Kl. 09:00 12:00 (3 timer) Oppgavesettet

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

PG4200 Algoritmer og datastrukturer Forelesning 7

PG4200 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

Detaljer

NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer

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

Detaljer

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

Algoritmer 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

Detaljer

PG4200 Algoritmer og datastrukturer forelesning 3. Lars Sydnes 29. oktober 2014

PG4200 Algoritmer og datastrukturer forelesning 3. Lars Sydnes 29. oktober 2014 PG4200 Algoritmer og datastrukturer forelesning 3 Lars Sydnes 29. oktober 2014 Plan Måling av kjøretid (delvis repetisjon) Matematisk analyse av kjøretid Presentasjon av innlevering 1 I Innlevering 1 Innlevering

Detaljer

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013

NITH 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

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 3 Rekursjon Estimering

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

Detaljer

Vi skal se på grafalgoritmer for:

Vi skal se på grafalgoritmer for: Grafalgoritmer Vi skal se på grafalgoritmer for: raversering: Nåbarhet: Oppsøk alle nodene i grafen en og bare en gang, på en eller annen systematisk måte innes det en vei fra en node til en annen node?

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

Algoritmer - definisjon

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

Detaljer

INF1020 Algoritmer og datastrukturer GRAFER

INF1020 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

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

INF Algoritmer og datastrukturer

INF 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

Detaljer

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden. EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2008 kl 09.00 til kl 13.00 Hjelpemidler: 4 A4-sider (2 ark) med valgfritt innhold Kalkulator Faglærer: Mari-Ann

Detaljer

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet INF 4130 8. oktober 2009 Stein Krogdahl Dagens tema: Uavgjørbarhet Dette har blitt framstilt litt annerledes tidligere år Se Dinos forelesninger fra i fjor. I år: Vi tenker mer i programmer enn i Turing-maskiner

Detaljer

Kompleksitetsteori reduksjoner

Kompleksitetsteori reduksjoner Kompleksitetsteori reduksjoner En slags liten oversikt, eller huskeliste, for kompleksitetsteorien i INF 4130. Ikke ment å være verken fullstendig eller detaljert, men kanskje egnet til å gi noen knagger

Detaljer

Korteste vei problemet (seksjon 15.3)

Korteste vei problemet (seksjon 15.3) Korteste vei problemet (seksjon 15.3) Skal studere et grunnleggende kombinatorisk problem, men først: En (rettet) vandring i en rettet graf D = (V, E) er en følge P = (v 0, e 1, v 1, e 2,..., e k, v k

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

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning

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

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning

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

Løsnings forslag i java In115, Våren 1998

Løsnings forslag i java In115, Våren 1998 Løsnings forslag i java In115, Våren 1998 Oppgave 1 // Inne i en eller annen klasse private char S[]; private int pardybde; private int n; public void lagalle(int i) if (i==n) bruks(); else /* Sjekker

Detaljer

IN2010: Forelesning 11. Kombinatorisk søking Beregnbarhet og kompleksitet

IN2010: Forelesning 11. Kombinatorisk søking Beregnbarhet og kompleksitet IN2010: Forelesning 11 Kombinatorisk søking Beregnbarhet og kompleksitet KOMBINATORISK SØKING Oversikt Generering av permutasjoner Lett: Sekvens-generering Vanskelig: Alle tallene må være forskjellige

Detaljer

Oppgave 1. Sekvenser (20%)

Oppgave 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

Detaljer

INF Algoritmer og datastrukturer

INF 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

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

INF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer

INF 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

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

EKSAMEN med løsningsforslag

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

Detaljer

Rekursiv programmering

Rekursiv programmering Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man

Detaljer

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess IT1101 Informatikk basisfag, dobbeltime 2/10 Hva er en algoritme? Fremgangsmåte for noe Hittil: Datarepresentasjon Datamanipulasjon Datamaskinarkutektur hvordan maskinen jobber Operativsystem Program som

Detaljer

INF Algoritmer og datastrukturer

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

Detaljer

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

Oppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b Oppgave 1 1 a INF1020 Algoritmer og datastrukturer Forelesning 14: Gjennomgang av eksamen vår 2001 oppgave 1,2,4 Arild Waaler Institutt for informatikk, Universitetet i Oslo Oppgave 1 a Programmer en ikke-rekursiv

Detaljer

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

MAT1030 Forelesning 22

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

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

PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister

PG4200 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

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

Introduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen

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

Detaljer

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf

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

Detaljer

MAT1030 Diskret matematikk

MAT1030 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

Detaljer

IN Algoritmer og datastrukturer

IN Algoritmer og datastrukturer IN2010 - Algoritmer og datastrukturer HØSTEN 2018 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 3: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2010 H2018, forelesning

Detaljer

GRAFER. Korteste vei i en vektet graf uten negative kanter. Korteste vei, en-til-alle, for: Minimale spenntrær

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

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning

Detaljer

Løsningsforslag EKSAMEN

Løsningsforslag EKSAMEN 1 Løsningsforslag 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

Detaljer

LO118D Forelesning 12 (DM)

LO118D 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

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

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

Detaljer

MAT1030 Diskret Matematikk

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

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

MAT1030 Forelesning 22

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

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2017 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2017, forelesning

Detaljer

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg

Dagens 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

Detaljer

INF2220: Forelesning 1

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

Detaljer

INF Algoritmer og datastrukturer

INF 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

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

Norges Informasjonsteknologiske Høgskole

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

Detaljer

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

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

Detaljer

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

Hva er en algoritme? INF HØSTEN 2006 INF1020. Kursansvarlige Ragnar Normann E-post: Dagens tema

Hva 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

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

Håndterlige og uhåndterlige problemer

Håndterlige og uhåndterlige problemer Håndterlige og uhåndterlige problemer Lars Sydnes 22. april 2014 1 Innledning Det er ikke alltid slik at alt som er teoretisk mulig er praktisk mulig. Her skal vi studere gapet mellom algoritmiske løsninger

Detaljer

INF2220: Forelesning 1

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

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 2

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

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

Kap 9 Tre Sist oppdatert 15.03

Kap 9 Tre Sist oppdatert 15.03 Kap 9 Tre Sist oppdatert 15.03 Definere et tre som en datastruktur. Definere begreper knyttet til tre. Diskutere mulige implementasjoner av tre Analysere implementasjoner av tre som samlinger. Diskutere

Detaljer

Oppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf

Oppgave 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

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

Søkeproblemet. Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke?

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

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

PG 4200 Algoritmer og datastrukturer Innlevering 2

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

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

Et eksempel: Åtterspillet

Et eksempel: Åtterspillet Trær Et eksempel: Åtterspillet To spillere som «trekker» annenhver gang I hvert trekk velges et av tallene 1, 2, 3, men ikke tallet som motspiller valgte i forrige trekk Valgte tall summeres fortløpende

Detaljer

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding Grafer Dagens plan INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Avsluttende om grådige algoritmer (kap. 10.1.2) Dynamisk programmering Floyds algoritme

Detaljer

Binære trær: Noen algoritmer og anvendelser

Binære trær: Noen algoritmer og anvendelser Binære trær: Noen algoritmer og anvendelser Algoritmer / anvendelser: Søking i usortert binært tre Telling av antall noder og nivåer i treet Traversering av binære trær Binære uttrykkstrær Kunstig intelligens(?):

Detaljer

45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 1992

45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 1992 45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 12 Oppgave 1 Idé til algoritme Benytter S n som betegn på en tallmengde med n elementer. For at et tall m skal være et majoritetstall

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

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

Vann i rør Ford Fulkerson method

Vann i rør Ford Fulkerson method Vann i rør Ford Fulkerson method Problemet Forestill deg at du har et nettverk av rør som kan transportere vann, og hvor rørene møtes i sammensveisede knytepunkter. Vannet pumpes inn i nettverket ved hjelp

Detaljer

GRAFER. Noen grafdefinisjoner. Korteste vei i en uvektet graf V 2 V 1 V 5 V 3 V 4 V 6

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

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

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG EKSAMENSOPPGAVE Fag: Lærer: IAD20003 Algoritmer og datastrukturer André Hauge Grupper: D2A Dato: 21.12.2004 Tid: 0900-1300 Antall oppgavesider: 5 med forside Antall vedleggssider: 0 Hjelpemidler: Alle

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