Vægtede grafer. I en vægtet graf har enhver kant tilknyttet en numerisk værdi, kaldet kantens vægt
|
|
- Jens Sven Laugesen
- 7 år siden
- Visninger:
Transkript
1 Korteste veje 1
2 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 vægten af en kant afstanden imellem to lufthavne SFO 33 LAX ORD 0 DFW LGA PVD MIA 10
3 Korteste vej Givet en vægtet graf og to knuder u og v ønsker vi at finde en vej imellem u og v, der har minimal samlet vægt Længden af en vej er summen af dens kantvægte HNL Anvendelser Routing af internetpakker Ruteplanlægning (bil/fly) Eksempel: Find den korteste vej imellem Honolulu og Providence SFO 33 LAX ORD 0 DFW LGA PVD MIA 10 3
4 Egenskaber ved korteste vej Egenskab 1: En delvej af den korteste vej er selv en korteste vej Egenskab : Der findes et træ af korteste veje fra en startknude til alle andre knuder Eksempel: Træ af korteste veje fra Honolulu HNL SFO 33 LAX ORD 0 DFW LGA 1099 PVD MIA 10
5 Dijkstra s algoritme Afstanden for en knude v fra en knude s er længden af en korteste vej imellem s og v Dijkstra s algoritme beregner afstandene for alle knuder fra en given startknude s Forudsætninger: grafen er sammenhængende kanterne er ikke-orienterede kantvægtene er ikke-negative Vi lader en sky af knuder vokse, begyndende med s og slutteligt dækkende alle knuder Vi gemmer for hver knude v en etikette d(v), der repræsenterer afstanden for v fra s i den delgraf, der består af skyen og dens tilstødende knuder Vi udvider skyen med den knude, u, uden for skyen, som har mindst afstand, d(u) Vi opdaterer etiketterne for de knuder uden for skyen, der er naboer til u
6 Kant-relaxation Betragt en kant e = (u,z), hvor u er den knude, der senest er blevet tilføjet skyen z ikke er i skyen s d(u) = 0 u e 10 d(z) = z En relaxation med kanten e opdaterer afstanden d(z), som følger: d(z) min{d(z), d(u) + weight(e)} s d(u) = 0 u e 10 d(z) = 60 z 6
7 Eksempel B 0 A C 1 D B 0 A C 1 D E F 3 9 E F B 0 A C 1 D 3 B 0 A C 1 D E F 3 9 E F
8 Eksempel (fortsat) B 0 A C 1 D E F B 0 A C 1 D E F
9 Dijkstra s algoritme En prioritetskø indeholder de knuder, der er uden for skyen Nøgle: afstand Element: knude Locator-baserede metoder: insert(k,e) returnerer en locator replacekey(l,k) ændrer nøglen for et emne For hver knude v gemmes to etiketter: afstand, d(v) locator i prioritetskøen Algorithm DijkstraDistances(G, s) Q new heap-based priority queue for all v G.vertices() if v = s setdistance(v, 0) else setdistance(v, ) l Q.insert(getDistance(v), v) setlocator(v,l) while Q.isEmpty() u Q.removeMin() for all e G.incidentEdges(u) { relax edge e } z G.opposite(u,e) r getdistance(u) + weight(e) if r < getdistance(z) setdistance(z,r) Q.replaceKey(getLocator(z),r) 9
10 Analyse Grafoperationer: Metoden incidentedges kaldes en gang for hver knude Etiketteoperationer: Vi sætter eller henter afstands- og locator-etiketterne for en knude z O(deg(z)) gange. Hver sådan operation tager O(1) tid Prioritetskøoperationer: Hver knude indsættes en gang i og fjernes en gang fra prioritetskøen Hver indsættelse og fjernelse tager O(log n) tid Nøglen for en knude w i prioritetetskøen ændres højst deg(w) gange, hvor hver ændring tager O(log n) tid Dijkstra s algoritme kører i O((n + m) log n) tid, hvis grafen er repræsenteret ved en nabolistestruktur (husk, at Σ v deg(v) = m) Køretiden kan også udtrykkes som O(m log n), da grafen er sammenhængende 10
11 Klassedeling af knuder I algoritmen skelnes imellem 3 typer af knuder: (1) Træknuder (knuder i skyen) () Randknuder (knuder, der støder op til træknuder) (3) Usete knuder (alle andre knuder) Træknuder Rand Usete 11
12 Bedste-først-søgning (priority-first search) Anvend en prioritetskø, pq (i stedet for en stak eller en kø) Sæt alle knuders status til UNSEEN Læg en knude i pq og sæt dens status til FRINGE Så længe pq ikke er tom: Fjern den bedste knude, u, fra pq Sæt u s status til TREE For enhver af u s naboknuder: hvis UNSEEN, så læg den i pq og sæt dens status til FRINGE, hvis FRINGE, så opdater dens prioritet 1
13 Udvidelse Vi kan udvide Dijkstra s algoritme til at returnere et træ af korteste veje imellem startknuden og alle andre knuder For hver knude gemmer vi en tredje etikette, der indeholder forældrekanten i det aktuelt korteste-vej-træ Algorithm DijkstraShortestPathsTree(G, s) for all v G.vertices() setparent(v, ) for all e G.incidentEdges(u) { relax edge e } z G.opposite(u,e) r getdistance(u) + weight(e) if r < getdistance(z) setdistance(z,r) setparent(z,e) Q.replaceKey(getLocator(z),r) 13
14 Hvorfor Dijkstra s algoritme virker Dijkstra s algoritme er baseret på den grådige metode Den tilføjer knuder efter voksende afstand (mindste-først) Antag at algoritmen ikke fandt alle korteste afstande. Lad F være den første forkerte knude, algoritmen behandlede Dengang den foregående knude, D, på den rigtige korteste vej blev betragtet, var dens afstand korrekt Men en relaxation med kanten (D,F) blev foretaget på dette tidspunkt! Derfor kan F s afstand ikke være forkert, så længe d(f) d(d) Der kan altså ikke være nogen forkert knude 0 A B C 1 D 3 9 E F 3 1
15 Hvorfor algoritmen ikke virker for negative kantvægte Hvis en knude med en nabokant med negativ vægte skulle tilføjes sent til skyen, ville det spolere afstandene for de knuder, der allerede er i skyen B 0 A 6 C 1 D 0-9 E F C s korrekte afstand er 1, men C er allerede i skyen med d(c)= 1
16 Bellman-Ford s algoritme Virker selv for negative vægte Vi må forudsætte, at kanterne er orienterede (ellers kunne vi få en cykel med negativ vægt) Iteration i finder alle korteste veje fra s, der bruger i kanter Køretid: O(nm) Kan udvides til at afsløre en cykel med negativ vægt, hvis en sådan findes Hvordan? Algorithm BellmanFord(G, s) for all v G.vertices() if v = s setdistance(v, 0) else setdistance(v, ) for i 1 to n-1 do for each e G.edges() { relax edge e } u G.origin(e) z G.opposite(u,e) r getdistance(u) + weight(e) if r < getdistance(z) setdistance(z,r) 16
17 Bellman-Ford eksempel Knuder er mærket med deres afstand, d(v)
18 DAG-baseret algoritme Virker selv for negative vægte Bruger topologisk sortering Bruger ingen specielle datastrukturer Er meget hurtigere end Dijkstra s algoritme Køretid: O(n+m) Algorithm DagDistances(G, s) for all v G.vertices() if v = s setdistance(v, 0) else setdistance(v, ) Perform a topological sort of the vertices for u 1 to n do {in topological order} for each e G.outEdges(u) { relax edge e } z G.opposite(u,e) r getdistance(u) + weight(e) if r < getdistance(z) setdistance(z,r) 1
19 DAG eksempel Knuder er mærket med deres afstand, d(v) ( iterationer) 19
20 Alle korteste veje Bestem den korteste vej imellem ethvert par af knuder i en vægtet orienteret graf G Vi kan udføre n kald af Dijkstra s algoritme (hvis der ikke er negative kanter), hvilket tager O(nm log n) tid Tilsvarende ville n kald af Bellman-Ford s algoritme tage O(n m) tid Algorithm AllPair(G) {assumes vertices 1,,n} for all vertex pairs (i,j) if i = j D 0 [i,i] 0 else if (i,j) is an edge in G D 0 [i,j] weight of edge (i,j) else D 0 [i,j] + for k 1 to n do for i 1 to n do for j 1 to n do D k [i,j] min{d k-1 [i,j], D k-1 [i,k]+d k-1 [k,j]} return D n Vi kan opnå O(n 3 ) tid ved brug af dynamisk programmering (i lighed med Floyd-Warshall s algoritme) Bruger kun knuder, der er nummeret 1,, k-1 i Bruger kun knuder, der er nummeret 1,, k (beregn vægten af denne kant) k j Bruger kun knuder, der er nummeret 1,, k-1 0
21 Mindste udspændende træer 1
22 Mindste udspændende træ Udspændende delgraf Delgraf af en graf G, der indeholder all G s knuder Udspændende træ Udspændende delgraf, der et et (frit) træ Mindste udspændende træ Udspændende træ i en vægtet graf med mindst mulig samlet vægt DEN 1 9 ORD 6 STL 10 3 PIT DCA Anvendelser: Kommunikationsnetværk Transportnetværk DFW ATL
23 Cykelegenskab Cykelegenskab: Lad T være et mindste udspændende træ for en vægtet graf G Lad e være en kant i G, som ikke er i T, og lad C være den cykel, der fås ved at tilføje e til T 6 f C 9 3 e For enhver kant f i C gælder da, at weight(f) weight(e) Bevis (ved modstrid): Hvis weight(f) > weight(e), kan vi opnå et udspændende med mindre vægt ved at erstatte e med f 6 f C Erstatning af f med e giver et bedre udspændende træ 9 3 e 3
24 Opdelingsegenskab Opdelingsegenskab: Betragt en opdeling af G s knuder i to delmængder U og V Lad e være en kant med mindst mulig vægt, der forbinder U og V Der eksister da et mindste udspændende træ, der indeholder e Bevis: Lad T være et mindste udspændende træ for G. Hvis T ikke indeholder e, betragt da den cykel C, der opnås ved at tilføje e til T, og lad f være en kant, der forbinder U og V. På grund af cykelegenskaben gælder, at weight(f) weight(e). Men så må weight(f) = weight(e). Vi kan opnå et andet mindste udspændende træ ved at erstatte f med e U U f e 9 V Erstatning af f med e giver et andet mindste udspændende træ f e 9 3 V 3
25 Prim-Jarnik s algoritme (19) Ligner Dijkstra s algoritme (for en sammenhængende graf) Vi vælger en vilkårlig knude s og lader det mindste udspændende træ vokse som en sky af knuder, startende fra s For hver knude v lagrer vi en etikette d(v) = den mindste vægt for de kanter, der forbinder v med en knude i skyen I hvert trin tilføjer vi til skyen den knude u uden for skyen, der har den mindste afstandsetikette, d(u), og opdaterer etiketterne for de knuder, der er naboer til u s s u u 10 e 10 e 0 0 d(z) = 0 z d(z) = 10 z
26 Prim-Jarnik s algoritme (forsat) En prioritetskø indeholder de knuder, der er uden for skyen Nøgle: afstand Element: knude Locator-baserede metoder: insert(k,e) returnerer en locator replacekey(l,k) ændrer nøglen for et emne For hver knude v gemmes tre etiketter: afstand, d(v) locator i prioritetskøen forældrekanten Algorithm PrimJarnikMST(G) Q new heap-based priority queue s a vertex of G for all v G.vertices() if v = s setdistance(v, 0) else setdistance(v, ) setparent(v, ) l Q.insert(getDistance(v), v) setlocator(v,l) while Q.isEmpty() u Q.removeMin() for all e G.incidentEdges(u) z G.opposite(u,e) r weight(e) if r < getdistance(z) setdistance(z,r) setparent(z,e) Q.replaceKey(getLocator(z),r) 6
27 Eksempel B D C A F E B D C A F E B D C A F E B D C A F E 3 9 0
28 Eksempel (fortsat) A 0 B D 9 F C 3 E 3 A 0 B D 9 F C 3 E 3
29 Analyse Grafoperationer: Metoden incidentedges kaldes en gang for hver knude Etiketteoperationer: Vi sætter eller henter afstands- og locator-etiketterne for en knude z O(deg(z)) gange. Hver sådan operation tager O(1) tid Prioritetskøoperationer: Hver knude indsættes en gang i og fjernes en gang fra prioritetskøen Hver indsættelse og fjernelse tager O(log n) tid Nøglen for en knude w i prioritetetskøen ændres højst deg(w) gange, hvor hver ændring tager O(log n) tid Prim-Jarnik s algoritme kører i O((n + m) log n) tid, hvis grafen er repræsenteret ved en nabolistestruktur (husk, at Σ v deg(v) = m) Køretiden kan også udtrykkes som O(m log n), da grafen er sammenhængende 9
30 Kruskal s algoritme (196) En prioritetskø indeholder kanterne Nøgle: vægt Element: kant Ved afslutningen af algoritmen står vi tilbage med (1) en sky, der omfatter et mindste udspændende træ () et træ, T, der er det søgte mindste udspændende træ Algorithm KruskalMST(G) for each vertex V in G do define a Cloud(v) of {v} let Q be a priority queue. Insert all edges into Q using their weights as the key T while T has fewer than n-1 edges do edge e = Q.removeMin() Let u, v be the endpoints of e if Cloud(v) Cloud(u) then Add edge e to T Merge Cloud(v) and Cloud(u) return T 30
31 Datastruktur til Kruskal s algoritme Algoritmen vedligeholder en skov af træer. En kant accepteres, hvis den forbinder to forskellige træer Vi har brug for en datastruktur, der vedligeholder en opdeling, d.v.s. en samling af disjunkte mængder med følgende to operationer: find(u): returner den mængde, der indeholder u union(u,v): erstat mængderne, som u og v tilhører med deres foreningsmængde u v 31
32 Repræsentation af en opdeling Hver mængde repræsenteres ved en sekvens Hvert element har en reference til den mængde, elementet tilhører Operationen find(u) tager O(1) tid og returnerer den mængde, som u er medlem af I operationen union(u,v), flytter vi elementer fra den mindste mængde til sekvensen for den største mængde og opdaterer deres referencer Tiden for operationen union(u,v), er min(n u,n v ), hvor n u og n v er størrelserne af mængderne, der indeholder u og v Hver gang et element flyttes, placeres det i en mængde af mindst den dobbelte størrelse Derfor vil et element højst blive flyttet log n gange 3
33 Opdelingsbaseret implementation En opdelingsbaseret implementation af Kruskal s algoritme udfører sammenføjning af skyer ved kald af union og afgørelse af mængdetilhørsforhold ved kald af find Algorithm Kruskal(G): Input: A weighted graph G. Output: An MST T for G. Let P be a partition of the vertices of G, where each vertex forms a separate set Let Q be a priority queue storing the edges of G, sorted by their weights Let T be an initially-empty tree while Q is not empty do (u,v) Q.removeMinElement() if P.find(u)!= P.find(v) then Add (u,v) to T Køretid: O((n+m)log n) P.union(u,v) return T 33
34 3
35 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 3
36 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 36
37 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 3
38 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 3
39 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 39
40 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 0
41 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 1
42 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA
43 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 3
44 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA
45 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA
46 Eksempel 0 6 BOS SFO ORD PVD 1 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 6
47
48 Baruvka s algoritme (196) Ligner Kruskal s algoritme. Baruvka s algoritme udvider mange skyer på en gang Algorithm BaruvkaMST(G) T V {just the vertices of G} while T has fewer than n-1 edges do for each connected component C in T do Let edge e be the smallest-weight edge from C to another component in T if e is not already in T then Add edge e to T return T Hver iteration af while-løkken halverer antallet af sammenhængende komponenter Køretiden er O(m log n)
49 9
50 Eksempel 0 6 BOS SFO ORD PVD 1 JFK 1 1 BWI 1090 LAX 13 DFW MIA 0
51 1
Korteste 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 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 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 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 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 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 mereMinimum udspændende Træer (MST)
Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen kreds af kanter. Træer
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 mereGraf PVD ORD SFO LGA HNL LAX DFW MIA 2
Grafer 1 Graf En graf er et par (V, E), hvor V er en mængde af knuder (vertices) E er en samling af par af knuder, kaldet kanter (edges) Eksempel: En knude repræsenterer en lufthavn og har tilknyttet en
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 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 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 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 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 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 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 merePrioritetskøer. Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering. Philip Bille
Prioritetskøer Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering Philip Bille Prioritetskøer Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer
Læs merePrioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer
Philip Bille. 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(): returner og fjern
Læs mereForén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.
Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening
Læs mereForén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.
Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening
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 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 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 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 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
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 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 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 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 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 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 mereMinimum udspændende Træer (MST)
Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen lukket kreds af kanter
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk
Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9
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 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 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 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 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 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 mereMinimum udspændende Træer (MST)
Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen kreds af kanter. Træ
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 mereDefinition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er
Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i
Læs mereDatastrukturer (recap)
Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang
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 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 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 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 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 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 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 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. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).
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 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 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 mereDatastrukturer (recap) Datastruktur = data + operationer herpå
Dictionaries Datastrukturer (recap) Datastruktur = data + operationer herpå Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data (ofte underforstået, også
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 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 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 mereBinære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo
Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.
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 mereGrafer / Otto Knudsen 20-11-06
Grafer / Otto Knudsen -- Grafer Definition En graf er pr. definition et par G = (V, E). Grafen består af en mængde knuder V (eng: vertices) og en mængde kanter E (eng: edges), som forbinder knuderne. A
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 mereSkriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer
Philip Bille Orienteret graf. Mængde af knuder forbundet parvis med orienterede kanter. deg + (7) =, deg - (7) = Lemma. v V deg - (v) = v V deg + (v) = m. Bevis. Hver kant har netop en startknude og slutknude.
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 mereSammenhængskomponenter i grafer
Sammenhængskomponenter i grafer Ækvivalensrelationer Repetition: En relation R på en mængde S er en delmængde af S S. Når (x, y) R siges x at stå i relation til y. Ofte skrives x y, og relationen selv
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 mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 4 n n 3n n 2 /logn 5 n n (logn) 3n n 2 /logn 4 n n 5 n
Side af 0 sider Opgave (%) Ja Nej n er O(0n logn)? n er O(n )? n +n er O(n )? n logn er O(n )? n logn er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DTOI, RUS UNIVERSITET Science and Technology ESEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. juni 0, kl. 9.00-.00
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 mereOrienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.
Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk
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 mereEksamen i Diskret Matematik
Eksamen i Diskret Matematik Første Studieår ved Det Tekniske Fakultet for TT og Design samt Det Ingeniør- og Naturvidenskabelige Fakultet 29. maj 2017. Kl. 9-13. Nærværende eksamenssæt består af 11 nummererede
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 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 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
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 mereDanmarks Tekniske Universitet
ksamen 06, F side af sider anmarks Tekniske Universitet Skriftlig prøve, den 9. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe
Læs mereDatastrukturer. Datastruktur = data + operationer herpå
Prioritetskøer Prioritetskøer? Datastrukturer Datastruktur = data + operationer herpå Datastrukturer Data: Datastruktur = data + operationer herpå Ofte en ID + associeret data. ID kaldes også en nøgle
Læs mereKorteste veje. Korteste veje. Introduktion. Introduktion. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs
Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Philip Bille Introduktion Kortete veje. Givet
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 mereSkriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet. Mandag den 22. marts 2004, kl
Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Mandag den. marts 00, kl..00 11.00 Navn Gerth Stølting Brodal Årskort 1 Dette eksamenssæt består af en kombination
Læs mereDatastrukturer. Datastruktur = data + operationer herpå
Prioritetskøer Prioritetskøer? Datastrukturer Datastruktur = data + operationer herpå Datastrukturer Data: Datastruktur = data + operationer herpå Ofte en ID + associeret data. ID kaldes også en nøgle
Læs mereKorteste veje. Korteste veje. Introduktion. Introduktion. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs
Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Philip Bille Introduktion Kortete veje. Givet
Læs mereKorteste veje. Korteste veje. Introduktion. Introduktion. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs
Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Philip Bille Introduktion Kortete veje. Givet
Læs mereprogrammeringskonkurrencer implementation under tidspres
ACM/ICPC programmeringskonkurrencer g - algoritmisk problemløsning og algoritmisk problemløsning og implementation under tidspres Hvad er det? Programmeringsopgaver af algoritmisk natur. Kendskabet fra
Læs mereSortering. Sortering ved fletning (merge-sort) Del-og-hersk. Merge-sort
Sortering 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 1 2 Del-og-hersk Merge-sort Del-og-hersk er et generelt paradigme til algoritmedesign Del: opdel input-data
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: Onsdag den 11. august 2004, kl.
Læs mere22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 2 n (log n) 2. 3 n /n 2 n + (log n) 4
Eksamen. kvarter 00 Side 1 af sider Opgave 1 ( %) Ja Nej n log n er O(n / )? n 1/ er O(log n)? n + n er O(n )? n( n + log n) er O(n / )? n er Ω(n )? Opgave ( %) Opskriv følgende funktioner efter stigende
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 5n 4. logn. n 4n 5 n/logn. n n/logn 5n
Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) n er O(n 7 )? (logn) er O( n)? n(logn) er O(n)? n er O( n )? n er Ω(n )? Opgave (%) Opskriv følgende funktioner efter stigende orden med
Læs mereBinære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille
Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor
Læs mereGrådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
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 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 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 mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 3/2. n logn (3/2) n. 2 3logn (3/2) n
Side af 0 sider Opgave (4%) Ja Nej n er O(n / )? n +n er O(n )? (logn) er O( logn )? n er O()? /n er O(logn)? Opgave (4%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: logn
Læs mereIntervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed
Algoritmisk geometri Intervalsøgning 1 2 Motivation for intervaltræer Intervalsøgning Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Vi kan
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 mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
STTUT R T, RUS UVRSTT Science and Technology S lgoritmer og atastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) ksamensdag: Tirsdag den. august 0, kl. 9.00-.00 Tilladte medbragte
Læs mere