Mm4: Greedy algorithms, backtracking and more recurrences - October 21, 2008
|
|
- Bertha Christiansen
- 7 år siden
- Visninger:
Transkript
1 Algorithms and Architectures I Rasmus Løvenstein lsen (RL), Jimmy Jessen Nielsen (JJE) Mm4: Greedy algorithms, backtracking and more recurrences - ctober 21, 2008
2 Algorithms and Architectures II 1. Introduction to analysis and design of algorithms(rl) 2. Recursive algorithms and recurrences (RL) 3. More about recurrences (RL) 4. Greedy algorithms, backtracking and more recurrences(rl) 5. Counting, probabilities and randomized algorithms (RL) 6. More sorting algorithms: Heap sort and quick sort (RL) 7. A little bit more about sorting - and more times for exercises (RL) 8. Hash tables, Hashing and binary search trees (RL) 9. Binary search trees, red-black trees (JJE) 10. Red-black trees continued + string matching (JJE)
3 Dagsorden Rekursion flere eksempler Heltalsmultiplikation Tennis turnering Dynamisk programmering World series odds Grådige algoritmer Eksempler Kruskals algoritme Prims algoritme Den omrejsende handelsmand Heuristiske algoritmer Backtracking Alpha beta beskæring psummering og konklusion pgaver
4 Multiplikation af heltal #1 Tænk på opgaven Z = * Y En algoritme går ud på at dele og Y ind i to andre heltal med længden n/2 bits hver, således = A B = A2 n/2 + B Y = C D = C2 n/2 + D Produktet Z kan nu skrives som Z = Y = AC2 n + (AD + BC)2 n/2 + BD Dette kræver 4 Multiplikationer af n/2 bit heltal, hver tager T(n/2) Tre additioner og to skifte operationer (*2 n termerne), tager (n)
5 Multiplikation af heltal #2 Multiplikationskompleksiteten bliver således T(1) = 1 T(n) = 4T(n/2) + cn a = 4, b = 2 og med c = 1og vi får d(n) = n Ved brug af de metoder vi kender kan vi konstatere at T(n) = (n 2 )
6 Multiplikation af heltal #3 Tænk nu over flg. metode at udføre multiplikationen Z = Y = AC2 n + [(A - B)(D - C) + AC + BD]2 n/2 + BD Kompliceret? Måske umiddelbart, men nu kræves der kun Tre multiplikationer, hver T(n/2) Seks additioner/subtraktioner og to rotationer, i alt (n) Derved opnår vi en kompleksitet på T(1) = 1 T(n) = 3T(n/2) + cn Hvis løsning er T(n) = (n log2(3) ) = (n 1.59 ) (n 1.59 ) < (n 2 ) og dermed er det hurtigere at anvende denne
7 Multiplikation af heltal #3 men men men.. Hvorfor bruger/lærer vi så ikke den komplicerede algoritme? Den første algoritme er for de fleste nemmere at indse og lære Vi har sat konstanten c = 1, med andre værdier af c opnår vi ens beregningskompleksitet
8 Tennis turnering En round-robin tennis turnering planlægges for n = 2 k spillere Spillene udføres over n 1 dage Programmet organiseres i en n x n-1 matrix, der indikerer hvem spiller mod hvem på de forskellige dage Ideen bag en algoritme der kan lave en sådan turnering er således at Gruppen af spillere deles op i halve portioner (undergrupper), indtil vi når grundtilfældet med undergrupper på to spillere De to parres og samles i større undergrupper Undergrupperne parres nu sammen indtil samtlige undergrupper er samlet i den store gruppe Efterfølgende dage, skabes ved samtlige mulige permutationer af den/de disjunkte undergruppe
9 Løsning af underproblemerne Til samling af undergrupperne udføres altså en cyklisk permutation af de enkelte undergrupper Til deling og samling af undergrupperne kan vi benytte enten Insertion - sort der giver en kompleksitet på T(n) = T(1) + T(n-1) + n; -> (n 2 ) Merge sort der giver en kompleksitet på T(n)=2T(n/2) + d(n); T(1)=1; -> (nlog 2 (n))
10 Dagsorden Rekursion flere eksempler Heltalsmultiplikation Tennis turnering Dynamisk programmering World series odds Grådige algoritmer Eksempler Kruskals algoritme Prims algoritme Den omrejsende handelsmand Heuristiske algoritmer Backtracking Alpha beta beskæring psummering og konklusion pgaver
11 Dynamisk programmering Rekursive algoritmer baseres ofte på at dele problemer op i mindre dele der ligner original problemet, som vi har set Det sker dog ofte at vi løser det samme problem igen og igen En ide kunne være at genbruge resultater, så f.eks. f(n) = n! ved vi at hvis vi en gang har beregnet f(4) = 4*3*2*1 = 24, så behøver vi ikke beregne f(4) igen. Vi gemmer resultatet i en tabel og genbruger. Dermed øges hastigheden også på beregning af f.eks. f(5) = 5*f(4)
12 World series odds #1 Tænk på to teams, A og B, spiller et spil hvori det gælder om at vinde n spil World series er sådan et spil med n = 4 Antag A og B er lige gode, hvert hold har 50% sandsynlighed for at vinde Lad nu P(i,j) være sandsynligheden for at team A vinder, hvor i er antallet af spil A mangler at vinde for at vinde spillet j er antallet af spil B mangler at vinde for at vinde spillet Hvis i = 0 eller j = 0 så har A eller B vundet kampen allerede, dvs. P(0,j) = 1; j>0 P(i,0) = 0; i>0 Generelt P(i,j) = (P(i-1, j) + P(i, j-1))/2
13 World series odds #2 Dermed har vi en funktion (for vores sandsynlighed) der ser således ud 1; i = 0, j > 0 P( i, j) = 0; i > 0, j = 0 P( i 1, j) + P( i, j 1) ; 2 Lad T(n) være den maksimum tid det tager at kalde P(i,j), hvor i + j = n, så T(1) = c T(n) = 2T(n-1) + d T(n) 2 n-1 + (2 n-1-1)d = (2 n ) Konklusion: P(i,j) tager ikke mere end (2 i+j ) tid i > 0, j > 0
14 World series odds #3 Den totale mængde af kald til P(i,j) er givet ved (antallet af måder i hvormed i kan vælges ud af i+j muligheder) For i = j er T(n) givet ved Ω(2 n /sqrt(n)) i + j Forskellen mellem (2 n ) og Ω(2 n /sqrt(n)) er ikke forfærdelig stor, og i begge tilfælde er det ikke praktisk at beregne sandsynlighederne på denne måde Men hvad gør vi så? Dynamisk Programmering..
15 World series odds dynamisk programmering /2 21/32 13/16 15/ /32 1/2 11/16 7/ /16 5/16 1/2 3/ /16 1/8 1/4 1/ i j Lad algoritmen udfylde tabellen fra nederste højre hjørne og arbejd opad/henad. I det her tilfælde kan man også udnytte symmetrien P(i,j) + P(j,i) = 1
16 Worlds series odds Implementering af beregning Funktion odds(i, j) Cost Integer s, k; 1 For s = 1 to i + j n = i + j 2 P(0, s) = 1; n 1 3 P(s, 0) = 0; n 1 4 for k = 1 to s-1 5 P(k, s-k) = ((P(k-1, s-k) + P(k, s-k-1))/2 6 return P(i, j) 1 Dermed bliver T(n) for odds(i,j) = (n 2 ), n=i+j s 1 k = 1 s 2 k = 1 k k
17 Sammenligning (2 n ) Complexity f(n) Ω(2 n / n) n (n 2 ) - Konklusion: Vi har lyst til at bruge dynamisk programmering!!
18 Dagsorden Rekursion flere eksempler Heltalsmultiplikation Tennis turnering Dynamisk programmering World series odds Grådige algoritmer Eksempler Kruskals algoritme Prims algoritme Den omrejsende handelsmand Heuristiske algoritmer Backtracking Alpha beta beskæring psummering og konklusion pgaver
19 Grådige algoritmer Forestil jer at vi har følgende mønter 25 Eurocents 10 Eurocents 5 Eurocents 1 Eurocents Nu skal vi give 63 Eurocents tilbage for et køb af en vare Hvordan finder vi ud af at give penge tilbage? Nogle bud? A. 63x1 Eurocents B. 6x10 + 3x1 Eurocents C. 2x25 + 1x10 + 3x1 Eurocents D. 2x25 + 1x5 + 8x1 Eurocents Hvilke kriterier havde i for jeres valg?
20 Grådige algoritmer: Nogle grundsten 1. Et kandidat sæt hvorfra en løsning er skabt 2. En udvælgelsesfunktion der bestemmer den bedste kandidat der skal tilføjes løsningen 3. En gyldighedsfunktion der bestemmer om den mulige løsning overhovedet er lovlig 4. En formålsfunktion der bestemmer om løsningen skal med i den fuldstændige eller en partiel løsning 5. En løsningsfunktion der bestemmer hvorvidt algoritmen har nået en løsning eller ej
21 Møntproblemet igen nu også grafisk
22 Den omrejsende salgsmand (the travelling salesman) problem - Brute force løsninger giver en kompleksitet på (n!) - Med dynamisk programmering kan vi reducere det til (n 2 2 n ) - Flere andre løsninger findes også: - Dijkstras algoritme og lignende - Backtracking - Alfa-beta beskæring - Genetiske algoritmer
23 Eksempel - Dijkstras algoritme Grådig algoritme til at finde korteste og billigste sti i en retningsorienteret graf Ideen er for hvert punkt at estimere prisen for at rejse til næste knude, og vælge den billigste tur Anvendes til bl.a. routning af data pakker i netværk S Ø 2 Q V[G] 3 while Q Ø do u ETRACT-MIN(Q) S S {u} for each vertex v Adj[u] do Relax(u,v,w) 4 6
24 Eksempel - Kruskal s algorithm Grådig algoritme til at konstruere et minimum span træ Ideen er baseret på at danne et sæt af linjer lokalvist og derefter sætte dem sammen stykvist 1 A Ø 2 for each vertex v V[G] do MAKE-SET(v) 3 sort edges of E into increasing cost by w 4 for each edge (u,v) E do if FIND-SET(u) FIND-SET(v) then A A {(u,v)} UNIN(u,v) 5 return A a b h i 2 6 c g d f e
25 Eksempel - Prim s algorithm Grådig algoritme til at danne et sæt af forbundne noder, ligesom Kruskal s Alle kanter der endnu ikke er en del af træet er anført i en minimum prioritets kø, Q A = {( v, π[ v]) : v V { r} Q} Målet er nået når flg. kriterium er opnået A = {( v, π[ v]) : v V { r}} a b h i 2 6 c g 7 1 for each u V[G] do key[u] π[u] NIL 2 key[r] 0 3 Q V[G] 4 while Q Ø do u ETRACT-MIN(Q) for each v Adj[u] do if v Q and w(u,v)<key[v] then π[v] u key[v] w(u,v) 2 4 d f e
26 Eksempler Sammenligninger Kompleksitet for de tre algoritmer Knuder : V; Forbindelser : E Kruskal s algoritme (E log (V)) Prim s og Djikas algoritme (afhængig af hvorledes Q er implementeret) Adjacency matrix: (V 2 ) Binary heap: ((V+E) log (V)) = (E log(v)) Fibonacci heap: (E+V log(v)) Prim s algorithm indeholde til enhver tid et komplet træ, mens Kruskal s algoritme ikke nødvendigvis gør
27 Heuristiske grådige algoritmer For nogle problemer producerer grådige algoritmer ikke optimale løsninger, f.eks. Dijkstras algoritme med negativt vægtede forbindelser Den omrejsende salgsmand
28 Dijkstras algoritme med negative vægtet forbindelse Betragt følgende: SA = 1, ikke så meget der AB = 2 < AC = 3, ergo vælger en grådig algoritme AB Men hmmm.. AC + CB = 1 < AB = 2 Konklusion: Grådige algoritmer virker ikke altid helt efter hensigten! Grådige algoritmer som Dijkstra ser ikke på helhedsbilledet. 2 B S 1 A -2 3 C
29 Heuristiske grådige algoritmer Nogle problemer egner sig som sagt ikke til at finde optimale løsninger med Men i langt de fleste tilfælde er det nok at få et ret godt resultat Spørgsmålet er blot hvor godt Eller om andre valg er realistiske tidsmæssige... Tag nu den omrejsende salgsmands problem igen som eksempel... c d c d c d b e b e b e a A f Hvilken tur er den bedste? Det er nemt nok hvis der kun er tre at vælge imellem, men hvad hvis der var løsninger at vælge imellem? a B f a C f
30 Den omrejsende salgsmands problem igen igen En modificeret Kruskals algoritme kan løse vores problem (en heuristisk grådig algoritme) Et punkt under betragtning skal overholde flg. krav før den kan indgå i en løsning: kanten får ikke den eksisterende løsning til at have mere end tre grader kanten får ikke den eksisterende løsning til at danne en kreds, undtagen der er tale om den sidste kant En betragtet kant der overholde disse krav, bliver en del af løsningen og hvis ikke, bliver den afvist
31 g den modificerede algoritme i praksis c d b e a f Så svaret på spørgsmålet blev her (A)
32 Backtracking hvad er problemet? Er det virkelig nødvendigt at gennemgå løsninger der er baseret på ulovlige træk? Kan vi ikke spare noget tid ved eliminering af sådanne muligheder? Løsningen hedder backtracking Eksempler Kryds og bolle Dronninge problemet Convex hull problemet
33 Eksempel - Kryds og bolle
34 Eksempel - Kryds og bolle #2 Først mappes udviklingen ind i et træ med symboler forståelig for vores algoritme, f.eks. -1 indikation af et godt træk for 0 indikation af et lige godt/dårligt træk for og 1 indikation af et godt træk for Spillerne bør bruge funktionen : min(x 1,..,x n ) : max(x 1,..,x n ) Andre spil/problemer, f.eks. Skak kan have meget mere komplicerede regler og funktioner flytter S = 0 flytter S = -1 Udsnit af træ S = 1 flytter S = -1 flytter
35 Eksempel - Dronninge problemet Betragt et n gange n skakbræt, og problemet med at placere q dronninger på brættet uden at dronningerne truer hinanden. Ø Ø ØØ Ø Ø En dronning truer en række felter Løsningsrummet er {1,2,3,,n} n At prøve alle samtlige løsninger inkluderer n n tilfælde, men ved at udnytte to dronninger ikke kan være i samme række/kolonne reducerer opgaven til n! tilfælde.
36 Eksempel: Convex hull (Graham s Scan) Problemet går ud på at konstruere den korteste polygon der omkredser et given sæt af punkter på et plan Gennemgå punkterne i en tilfældig rækkefølge, læg dem i en delvis løsning når der laves et retningskift på mindre en 180 o og backtrack når der laves større retningsskift Gennemgå nu de forskellige løsninger Intuitivt Start med et yderpunkt Algoritmen kræver (o log n) gange for at sortere punkterne og (n) tid for at vælge en relevant basis
37 Backtracking En potentiel løsning er repræsenteret som S={v 1,v 2,..,v n } Try(S) Is S a solution Yes Return S No For each v in S, do: No Is {v 1,v 2,..,v n, v} Acceptable? Yes Try {v 1,v 2,..,v n, v} No Is S = Ø Return S Yes
38 Karakteristika for backtracking algoritmen Backtracking er god til at gennemgå et løsningsrum for gode løsninger Det vigtigste, og tit sværeste, er identifikation af problemet Beskrivelse og identifikation af regler er nødvendige, men ikke nødvendigvis let! kan nemt reducere antallet af iterationer der er behov for under udførsel
39 Alpha beta beskæring I nogle tilfælde kan man afskære hele grene af et træ og spare meget tid Betragt flg. Regler 1. Hvis alle underpunkter af et knudepunkt n er blevet overvejet eller afskåret, lad den endelige værdi for knudepunktet blive endeligt 2. Hvis vi for et knudepunkt n betragter en 1. Max knudepunkt der har en midlertidig værdi v1 og et underpunkt med en endelig værdi v2, så sæt den midlertidige værdi af n til max(v1,v2). 2. Min knudepunkt der har en midlertidig værdi v1 og et underpunkt med en endelig værdi v2, så sæt den midlertidige værdi af n til min(v1,v2) 3. Hvis et knudepunkt er en 1. Min knudepunkt p med en super knude q (en max knude) og p og q har midlertidige værdier v1 og v2, med v1<=v2 så kan vi afskære underpunkterne i p 2. Max knudepunkt p med en super knude q (en max knude) og p og q har midlertidige værdier v1 og v2, med v2<=v1 så kan vi afskære underpunkterne i p g i praksis ser det således ud...
40 Eksempel - Alpha beta beskæring
41 Dagsorden Rekursion flere eksempler Heltalsmultiplikation Tennis turnering Dynamisk programmering World series odds Grådige algoritmer Eksempler Kruskals algoritme Prims algoritme Den omrejsende handelsmand Heuristiske algoritmer Backtracking Alpha beta beskæring psummering og konklusion pgaver
42 psummering og konklusion Endnu lidt flere eksempler med rekursive algoritmer og udnyttelse af analyse til valg af effektiv algoritme Heltalsmultiplikation Tennis turnering Hvordan vi kan effektivisere rekursive algoritmer Dynamisk programmering Grådige algoritmer Fokuserer sig på bedst løsning i situationen Ser ikke så meget på helhedsbilledet F.eks. Kruskals algoritme og Prims algoritme Effektivisering af grådige algoritmer Reducering af løsningsrum ved afskæring af ulovlige løsningsmuligheder Backtracking Alpha beta beskæring
43 g endelig...!!!
44 pgaver vervej implementeringsstrategier for planlægning af hvorledes en robot kan bevæge sig effektivt i et lager Hvilke forbehold er der for en potentiel rute? Hvilken type algoritme vil være bedst? Kruskal, Prims, Dijkstras eller noget andet? Hvordan vil robotten kunne opdatere sin rute hvis der sker ændringer i lokalet? Hvad hvis en sætter en boks et sted og forhindrer/gør det dyrt at bevæge sig et sted? Er det muligt at anvende en form for beskæring af muligheder i form af ulovlige ruter? Fortsæt med rekursive opgaver fra sidst
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm3: More about recurrences - October 10, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm3: More about recurrences - October 10, 2008 1 Algorithms and Architectures II 1. Introduction to analysis and
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm2: Rekursive algoritmer og rekurrens - October 10, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm2: Rekursive algoritmer og rekurrens - October 10, 2008 1 Algorithms and Architectures II 1. Introduction to analysis
Læs mereMm7: A little bit more about sorting - and more times for exercises - November 4, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm: A little bit more about sorting - and more times for exercises - November 4, 2008 1 Algorithms and Architectures
Læs mereMm6: More sorting algorithms: Heap sort and quick sort - October 29, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm6: More sorting algorithms: Heap sort and quick sort - October 9, 008 Algorithms and Architectures II. Introduction
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010 1 Algorithms and Architectures II 1. Introduction to analysis and design of algorithms
Læs mereMm8: Hash tables, Hashing and binary search trees - November 7, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm8: Hash tables, Hashing and binary search trees - November 7, 2008 1 Algorithms and Architectures II 1. Introduction
Læs mereAlgorithms & Architectures I 2. lektion
Algorithms & Architectures I 2. lektion Design-teknikker: Divide-and-conquer Rekursive algoritmer (Recurrences) Dynamisk programmering Greedy algorithms Backtracking Dagens lektion Case eksempel: Triple
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
Læs mereMm1: Introduction to analysis and design of algorithms - October 7, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm1: Introduction to analysis and design of algorithms - October 7, 2008 Algorithms and Architectures II 1. Introduction
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereMindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm1: Introduction to analysis and design of algorithms - October 11, 2010
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm1: Introduction to analysis and design of algorithms - October 11, 2010 1 Algorithms and Architectures II 1. Introduction to analysis and
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)
Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Datalogisk Institut Aarhus Universitet Fredag den 28. maj 2004, kl. 9.00 13.00 Opgave 1 (20%) En (r, k) kryds-graf er en orienteret graf
Læs mereDM02 Kogt ned. Kokken. Januar 2006
DM02 Kogt ned Kokken Januar 2006 1 INDHOLD Indhold 1 Asymptotisk notation 2 2 Algoritme analyse 2 3 Sorterings algoritmer 2 4 Basale datastrukturer 3 5 Grafer 5 6 Letteste udspændende træer 7 7 Disjunkte
Læs mereAlgoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =
Læs mereDanmarks Tekniske Universitet
Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af
Læs mereMm5: Counting, probabilities and randomized algorithms - Oktober 24, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm5: Counting, probabilities and randomized algorithms - Oktober 24, 2008 1 Algorithms and Architectures II 1. Introduction
Læs mereMindste udspændende træ
Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm8: Hash tables og Hashing - November 10, 2010
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm8: Hash tables og Hashing - November 10, 2010 1 Algorithms and Architectures II 1. Introduction to analysis and design of algorithms (RLO
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:
Læs mereDanmarks Tekniske Universitet
Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereMindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Læs mereDanmarks Tekniske Universitet
Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det
Læs mereAlgoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)
Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde
Læs mereLøs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid
6 april Løsning af N P -hårde problemer Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid Oversigt Grænseværdier (repetition) Branch-and-bound algoritmens komponenter Eksempler
Læs mereUdtømmende søgning 1
Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer Find den korteste
Læs mereTirsdag 12. december David Pisinger
Videregående Algoritmik, DIKU 2006/07 Tirsdag 12. december David Pisinger Resume sidste to gang Sprog L : mængden af instanser for et afgørlighedsproblem hvor svaret er 1. P = {L : L genkendes af en algoritme
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer
Læs mere02105 Eksamensnoter. Lasse Herskind S maj Sortering 3
02105 Eksamensnoter Lasse Herskind S153746 12. maj 2017 Indhold 1 Sortering 3 2 Analyse af algoritme 4 2.1 Køretid.......................................... 4 2.2 Pladsforbrug.......................................
Læs mereUdtømmende søgning. Udtømmende søgning (kombinatorisk søgning) Problem med 4461 byer Udtømmende søgning i grafer. Find den korteste rundtur
Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer ind den korteste rundtur
Læs mereDanmarks Tekniske Universitet
ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer
Læs mereSkriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jens Myrup Pedersen (JMP) Mm4: Sorting algorithms - October 23, 2009
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jens Myrup Pedersen (JMP) Mm4: Sorting algorithms - October 3, 009 Algorithms and Architectures II. Introduction to analysis and design of
Læs mereMindste udspændende træ
Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation
Læs merePrioritetskøer og hobe. Philip Bille
Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af
Læs mereDanmarks Tekniske Universitet
side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereAlgorithms and Architectures II Jens Myrup Pedersen (JMP), Rasmus Løvenstein Olsen (RLO)
Algorithms and Architectures II Jens Myrup Pedersen (JMP), Rasmus Løvenstein Olsen (RLO) Mm3: Algorithm examples: Advanced backtracking, min-max, algorithms for task scheduling - February 23, 2009 Algorithms
Læs mereSommeren 2001, opgave 1
Sommeren 2001, opgave 1 Vi antager at k 3, da det ellers er uklart hvordan trekanterne kan sættes sammen i en kreds. Vi ser nu at for hver trekant er der en knude i kredsen, og en spids. Derfor er n =
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 0205. Varighed: 4 timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Varighed: timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereSymmetrisk Traveling Salesman Problemet
Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,
Læs mereSkriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 26. maj 2009. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 7 n 1/2 2 n /n 3 2logn n 2 /logn
Eksamen august 0 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) n er Ω(n)? n er O( n )? n er O(8logn)? + er O(n)? n er O(n / )? Opgave (%) Opskriv følgende funktioner efter stigende
Læs mereP (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2.
P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2. Bevis ved stærk induktion. Basisskridt: P (2) er sand og P (3) er sand. Induktionsskridt: Lad k 2 og antag P
Læs mereGeometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter
Planfejning 1 Skæring 2 Geometrisk skæring Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter Løsningsmetoder: Rå kraft Planfejning (eng. plane sweep)
Læs mereMm1: Introduction to analysis and design of algorithms - October 6, 2009
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jens Myrup Pedersen (JMP) Mm1: Introduction to analysis and design of algorithms - October 6, 2009 Algorithms and Architectures I 1. Introduction
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
STTUT FR DTG, RUS UVERSTET Science and Technology ESE ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. juni 0, kl. 9.00-.00 Tilladte medbragte hjælpemidler: lle sædvanlige
Læs merePerspektiverende Datalogikursus
Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 27. august 2004 1 Indhold Mere om Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 13. august 2010, kl.
Læs mereDanmarks Tekniske Universitet
side af 2 sider anmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 02326. Varighed: 4 timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.
Læs mereEksamen i Diskret Matematik
Eksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet 10. juni, 2016. Kl. 9-13. Nærværende eksamenssæt består af 11 nummererede sider med ialt 16 opgaver. Alle opgaver
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DTLOGI, RHUS UNIVERSITET Science and Technology EKSMEN ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Mandag den. august 07, kl. 9.00-.00 Tilladte medbragte hjælpemidler:
Læs mere.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)}
Procedure Dijkstra(G = (V, E): vægtet sh. graf,. a, z: punkter) { Det antages at w(e) > 0 for alle e E} For alle v V : L(v) := L(a) := 0, S := while z / S begin. u := punkt ikke i S, så L(u) er mindst
Læs mere19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.
19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel
Læs mereMatematikken i kunstig intelligens Opgaver om koordinerende robotter
Matematikken i kunstig intelligens Opgaver om koordinerende robotter Thomas Bolander 2. juni 2018 Vejledning til opgaver Opgave 1 kan eventuelt springes over, hvis man har mindre tid. De resterende opgaver
Læs mereNetværksalgoritmer 1
Netværksalgoritmer 1 Netværksalgoritmer Netværksalgoritmer er algoritmer, der udføres på et netværk af computere Deres udførelse er distribueret Omfatter algoritmer for, hvorledes routere sender pakker
Læs mereMatematikken i kunstig intelligens Opgaver om koordinerende robotter LØSNINGER
Matematikken i kunstig intelligens Opgaver om koordinerende robotter LØSNINGER Thomas Bolander 25. april 2018 Vejledning til opgaver Opgave 1 kan eventuelt springes over, hvis man har mindre tid. De resterende
Læs mereSpilstrategier. 1 Vindermængde og tabermængde
Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der
Læs mereReeksamen i Diskret Matematik
Reeksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet 21. august 2015 Nærværende eksamenssæt består af 10 nummererede sider med ialt 17 opgaver. Tilladte hjælpemidler:
Læs mereSortering ved fletning (merge-sort)
Sortering 1 Sortering ved fletning (merge-sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 2 Del-og-hersk Del-og-hersk er et generelt paradigme til algoritmedesign Del: opdel input-data S i to disjunkte
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgaesættet (incl. forsiden): 7 (sy) Eksamensdag: Mandag den 20. juni 2005, kl. 9.00-13.00
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
NSTTUT OR TO, RUS UNVRSTT Science and Technology SN lgoritmer og atastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): 11 (elleve) ksamensdag: redag den 1. august 015, kl. 9.00-.00 Tilladte
Læs mereVægtede grafer. I en vægtet graf har enhver kant tilknyttet en numerisk værdi, kaldet kantens vægt
Korteste veje 1 Vægtede grafer HNL I en vægtet graf har enhver kant tilknyttet en numerisk værdi, kaldet kantens vægt Vægte kan repræsentere afstande, omkostninger, o.s.v. Eksempel: I en flyrutegraf repræsenterer
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 24. juni 2011, kl.
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DTLOGI, RHUS UNIVERSITET Science and Technology EKSEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): 11 (elleve) Eksamensdag: Torsdag den 1. juni 01,
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereDM507 - Algoritmer og datastrukturer
- Algoritmer og datastrukturer Køretid g(n) Udtryk Beskrivelse lim n f(n) o(f) Vokser langsommere end f = 0 O(f) Vokser højst så hurtigt som f < Θ(f) Vokser som f = c(c > 0) Ω(f) Vokser mindst så hurtigt
Læs mereSkriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)
Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM58) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 7 Januar 010, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger,
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereDanmarks Tekniske Universitet
Eksamen 005, F09 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 009. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs merePerspektiverende Datalogikursus
Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 2. september 2005 1 Afleveringsopgaver... /\.. // \\ / \ / [] \ \\_// / \ / \ []._. ---------------- _ 2 Øvelse
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Mandag den 11. august 008, kl.
Læs mereHamilton-veje og kredse:
Hamilton-veje og kredse: Definition: En sti x 1, x 2,...,x n i en simpel graf G = (V, E) kaldes en hamiltonvej hvis V = n og x i x j for 1 i < j n. En kreds x 1, x 2,...,x n, x 1 i G kaldes en hamiltonkreds
Læs mereAlgoritmisk geometri
Algoritmisk geometri 1 Intervalsøgning 2 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Antag, at vi ønsker at
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Onsdag den. august 200, kl. 9.00.00 Opgave (25%) Lad A = A[] A[n] være et array af heltal. Længden af det længste
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 0. august 00, kl. 9.00-.00
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen (bemærk at log n betegner totals logaritmen): n 2 (log n) 2 2.
Eksamen august Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) n + n er O(n )? n / er O(n / )? n er O(n log n)? n er O((log n) )? n er Ω(n )? Ja Nej Opgave (%) Opskriv følgende funktioner
Læs mereAlgoritmer og invarianter
Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.
Læs mereSpilstrategier. Indhold. Georg Mohr-Konkurrencen. 1 Vindermængde og tabermængde 2. 2 Kopier modpartens træk 4
Indhold 1 Vindermængde og tabermængde 2 2 Kopier modpartens træk 4 3 Udnyt modpartens træk 5 4 Strategityveri 6 5 Løsningsskitser 7 Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende
Læs merePrioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer
Philip Bille (priority-queues). Vedligehold en dynamisk mængde S af elementer. Hver element x er tilknyttet en nøgle x.key og satellitdata x.data. MAX(): returner element med største nøgle. EXTRACTMAX():
Læs mereOplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal
Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk Institut Aarhus Universitet MasterClass Matematik, Mærsk Mc-Kinney Møller Videncenter, Sorø, 29-31. oktober 2009 Algoritmer: Matricer
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DTLOS NSTTUT, RUS UNVERSTET Det Naturvidenskabelige akultet ESMEN rundkurser i Datalogi ntal sider i opgavesættet (incl. forsiden): 7 (syv) Eksamensdag: Torsdag den 14. juni 007, kl. 9.00-1.00 Eksamenslokale:
Læs mere