Dynamisk programmering. Flere eksempler
|
|
- Ingrid Olsen
- 6 år siden
- Visninger:
Transkript
1 Dynamisk programmering Flere eksempler
2 Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1}
3 Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld GATAAATCTGGTCTTATTTCC
4 Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld GATAAATCTGGTCTTATTTCC Delstreng = delmængde af tegnene i streng, i uændret rækkefølge: G A T A A A T C T G G A T C
5 Længste fælles delstreng Fælles delstreng for to strenge: G A T A A A T C T G G A T C Eller: A G T T A T T C G A T A A A T C T G A G T T A T T C
6 Længste fælles delstreng Fælles delstreng for to strenge: G A T A A A T C T G G A T C Eller: A G T T A T T C G A T A A A T C T G A G T T A T T C Længste fælles delstreng: Givet to strenge X = x 1 x 2 x 3... x m Y = y 1 y 2 y 3... y n af længde m og n, find en længste fælles delstreng for dem. Længden af denne kan ses som et mål for similaritet mellem strenge (f.eks. dna-strenge).
7 Rekursiv løsning? Vi vil arbejde på at lave en rekursiv løsning. Vi definerer derfor mindre problemstørrelser:
8 Rekursiv løsning? Vi vil arbejde på at lave en rekursiv løsning. Vi definerer derfor mindre problemstørrelser: X i = x 1 x 2 x 3... x i for 1 i m. Y j = y 1 y 2 y 3... y j for 1 j n. X og Y er den tomme streng. lcs(i, j) er længden af længste fælles delstreng af X i og X j.
9 Rekursiv løsning? Vi vil arbejde på at lave en rekursiv løsning. Vi definerer derfor mindre problemstørrelser: X i = x 1 x 2 x 3... x i for 1 i m. Y j = y 1 y 2 y 3... y j for 1 j n. X og Y er den tomme streng. lcs(i, j) er længden af længste fælles delstreng af X i og X j. Vi vil gerne finde lcs(m, n).
10 Rekursiv løsning? Vi vil arbejde på at lave en rekursiv løsning. Vi definerer derfor mindre problemstørrelser: X i = x 1 x 2 x 3... x i for 1 i m. Y j = y 1 y 2 y 3... y j for 1 j n. X og Y er den tomme streng. lcs(i, j) er længden af længste fælles delstreng af X i og X j. Vi vil gerne finde lcs(m, n). Mere generelt: Vi søger en rekursiv formel for lcs(i, j).
11 Rekursiv løsning? Vi vil arbejde på at lave en rekursiv løsning. Vi definerer derfor mindre problemstørrelser: X i = x 1 x 2 x 3... x i for 1 i m. Y j = y 1 y 2 y 3... y j for 1 j n. X og Y er den tomme streng. lcs(i, j) er længden af længste fælles delstreng af X i og X j. Vi vil gerne finde lcs(m, n). Mere generelt: Vi søger en rekursiv formel for lcs(i, j). Basistilfælde: Det er klart at lcs(, j) = lcs(i, ) =.
12 Optimale delproblemer I Formel for lcs(i, j): Case I: x i = y j Observation: en fælles delstreng Z for X i og Y j består af Et sidste tegn z k. En streng Z = z 1 z 2 z 3... z k 1, som må være en fælles delstreng af X i i og Y j 1 (tegnene i Z skal komme i samme rækkefølge som i X og Y, så kun sidste tegn i Z har mulighed for at være x i og y j ).
13 Optimale delproblemer I Formel for lcs(i, j): Case I: x i = y j Observation: en fælles delstreng Z for X i og Y j består af Et sidste tegn z k. En streng Z = z 1 z 2 z 3... z k 1, som må være en fælles delstreng af X i i og Y j 1 (tegnene i Z skal komme i samme rækkefølge som i X og Y, så kun sidste tegn i Z har mulighed for at være x i og y j ). Den essentielle egenskab (optimale delproblemer) for Case I: Hvis Z er en længste fælles delstreng for for X i og Y j, må Z være en længste fælles delstreng af X i 1 og Y j 1. For hvis der fandtes en længere fælles delstreng for X i 1 og Y j 1, kunne den tilføjes tegnet x i (= y j ) og blive en længere fælles delstreng for X i og Y j.... x 1 x 2 x 3 x 4... x i 1 C y 1 y 2 y 3 y 4... y j 1 C
14 Optimale delproblemer I Af den essentielle egenskab haves i Case I (x i = y j ): lcs(i, j) = lcs(i 1, j 1) + 1 En længste fælles delstreng for X i 1 og Y j 1 tilføjet tegnet x i (= y j ) er en længste fælles delstreng for X i og Y j.... x 1 x 2 x 3 x 4... x i 1 C y 1 y 2 y 3 y 4... y j 1 C
15 Optimale delproblemer II Formel for lcs(i, j): Case II: x i y j Observation: en fælles delstreng Z = z 1 z 2 z 3... z k for X i og Y j kan ikke have z k værende en parring af x i og y j (da disse jo er forskellige). Så Z må være en fælles delstreng for enten X i 1 og Y j eller for X i og Y j 1 (eller evt. begge).
16 Optimale delproblemer II Formel for lcs(i, j): Case II: x i y j Observation: en fælles delstreng Z = z 1 z 2 z 3... z k for X i og Y j kan ikke have z k værende en parring af x i og y j (da disse jo er forskellige). Så Z må være en fælles delstreng for enten X i 1 og Y j eller for X i og Y j 1 (eller evt. begge). Den essentielle egenskab (optimale delproblemer) for Case II: Hvis Z er en længste fælles delstreng for X i og Y j, må den være en længste fælles delstreng for enten X i 1 og Y j eller for X i og Y j 1 (eller evt. begge). For hvis der fandtes en længere fælles delstreng for enten X i 1 og Y j eller for X i og Y j 1, ville denne også være en længere fælles delstreng for X i og Y j. x 1 x 2 x 3 x 4... x i 1 A... y 1 y 2 y 3 y 4... y j 1 C... x 1 x 2 x 3 x 4... x i 1 A y 1 y 2 y 3 y 4... y j 1 C
17 Optimale delproblemer II Lad T 1 være en længste fælles delstreng for X i 1 og Y j, og lad T 2 være en længste fælles delstreng for X i og Y j 1. Af den essentielle egenskab i Case II (x i y j ) haves at blandt T 1 og T 2 er der (mindst) en som er en længste fælles delstreng for X i og Y j. Ingen af T 1 og T 2 kan være længere end den længste fælles delstreng for X i og Y j (da de begge er delstrenge af X i og Y j ). Så af den essentielle egenskab haves i Case II (x i y j ): lcs(i, j) = max(lcs(i 1, j), lcs(i, j 1)) Hvis lcs(i 1, j) lcs(i, j 1), er en længste fælles delstreng for X i 1 og Y j også en længste fælles delstreng for X i og Y j. Et symmetrisk udsagn gælder for og X i og Y j 1. x 1 x 2 x 3 x 4... x i 1 A... y 1 y 2 y 3 y 4... y j 1 C... x 1 x 2 x 3 x 4... x i 1 A y 1 y 2 y 3 y 4... y j 1 C
18 Rekursiv formel for lcs(i, j) Alt i alt har vi fundet flg. rekursive formel for lcs(i, j): if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
19 Rekursiv formel for lcs(i, j) Alt i alt har vi fundet flg. rekursive formel for lcs(i, j): if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j Den giver anledning til en naturlig, simpel rekursiv algoritme.
20 Rekursiv formel for lcs(i, j) Alt i alt har vi fundet flg. rekursive formel for lcs(i, j): if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j Den giver anledning til en naturlig, simpel rekursiv algoritme. MEN: det er nemt at se at der er gentagelser blandt delproblemers delproblemer. Så samme delproblemer bliver gentagne gange beregnet forskellige steder i rekursionstræet, og køretiden bliver meget dårlig.
21 Rekursiv formel for lcs(i, j) Alt i alt har vi fundet flg. rekursive formel for lcs(i, j): if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j Den giver anledning til en naturlig, simpel rekursiv algoritme. MEN: det er nemt at se at der er gentagelser blandt delproblemers delproblemer. Så samme delproblemer bliver gentagne gange beregnet forskellige steder i rekursionstræet, og køretiden bliver meget dårlig. Kan evt. løses med memoization: hav en tabel med plads til svaret på alle de mulige delproblemer lcs(i, j), og gem svaret når det er beregnet første gang. Siden, slå det bare op.
22 Rekursiv formel for lcs(i, j) Alt i alt har vi fundet flg. rekursive formel for lcs(i, j): if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j Den giver anledning til en naturlig, simpel rekursiv algoritme. MEN: det er nemt at se at der er gentagelser blandt delproblemers delproblemer. Så samme delproblemer bliver gentagne gange beregnet forskellige steder i rekursionstræet, og køretiden bliver meget dårlig. Kan evt. løses med memoization: hav en tabel med plads til svaret på alle de mulige delproblemer lcs(i, j), og gem svaret når det er beregnet første gang. Siden, slå det bare op. Dynamisk programmering: udfyld i stedet direkte denne tabel bottom-up på struktureret måde.
23 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
24 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
25 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
26 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
27 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
28 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
29 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
30 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
31 Køretid Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n Tabelstørrelse: mn Udfyld tabelindgang: O(max størrelse af røde graf) = O(1). Tid i alt: O(produktet af de to) = O(mn).
32 Find en konkret løsning lcs(m, n) er længden af en længste fælles delstreng for X = X m og Y = Y n. Hvis vi gerne vil finde en konkret fælles delstreng af denne længde: Gem for hvert felt i tabellen hvilken af de tre røde pile som gav lcs(i, j)-værdien i dette felt. Følg gemte pile baglæns fra lcs(m, n). Når en skrå pil følges er det en Case I, og x i (=y j ) udskrives. Ellers er den en Case II, og intet udskrives. I alt udskrives en længste fælles delstreng for X og Y i baglæns orden.
33 Eksempel 2: Multi-Matrix-multiplikation Fra DM527/MM524: En p q matrix A 1 og en q r matrix A 2 kan multipliceres i tid O(pqr). Resultatet er en p r matrix. j j i = i p q q r p r
34 Eksempel 2: Multi-Matrix-multiplikation Fra DM527/MM524: En p q matrix A 1 og en q r matrix A 2 kan multipliceres i tid O(pqr). Resultatet er en p r matrix. j j i = i p q q r p r Matrix-multiplikation er associativ: A 1 (A 2 A 3 ) = (A 1 A 2 ) A 3
35 Multi-Matrix-multiplikation Matrix-multiplikation er associativ: Men køretiden er IKKE ens. A 1 (A 2 A 3 ) = (A 1 A 2 ) A 3
36 Multi-Matrix-multiplikation Matrix-multiplikation er associativ: A 1 (A 2 A 3 ) = (A 1 A 2 ) A 3 Men køretiden er IKKE ens. Eksempel: A 1 A 2 A
37 Multi-Matrix-multiplikation Matrix-multiplikation er associativ: A 1 (A 2 A 3 ) = (A 1 A 2 ) A 3 Men køretiden er IKKE ens. Eksempel: A 1 A 2 A Tid for A 1 (A 2 A 3 ): er = 75.
38 Multi-Matrix-multiplikation Matrix-multiplikation er associativ: A 1 (A 2 A 3 ) = (A 1 A 2 ) A 3 Men køretiden er IKKE ens. Eksempel: A 1 A 2 A Tid for A 1 (A 2 A 3 ): er = 75. Tid for (A 1 A 2 ) A 3 : er = 7.5
39 Multi-Matrix-multiplikation Spørgsmålet: Givet et produkt af n matricer med kombatible dimensioner A 1, A 2, A 3,..., A n p p 1, p 1 p 2, p 2 p 3,..., p n 1 p n hvad er den billigste rækkefølge at gange dem sammen i?
40 Beregningstræer Rækkefølge = parentessætning = binært beregningstræ: A 1 A 2 A 3 A 1 A 2 A 3 A 1 A 2 A 3 A 4 A 1 (A 2 A 3 ) (A 1 A 2 )A 3 A 1 ((A 2 A 3 )A 4 )
41 Optimale delproblemer og rekursiv ligning Lad m(i, j) være prisen for bedste måde at gange A i,..., A j sammen på. Observation af den essentielle egenskab: Undertræerne for roden af et optimalt træ må selv være optimale beregningstræer. A i... A k A k+1... A j Prøv alle placeringer af rod, dvs. alle split A i,..., A k og A k+1,..., A j : { if i = j m(i, j) = min i k<j {m(i, k) + m(k + 1, j) + p i 1 p k p j } if i < j
42 Tabel Gentagelser blandt delproblemers delproblemer. Lav tabel og udfyld systematisk. Målet er at kende m(1, n).
43 Tabel Gentagelser blandt delproblemers delproblemer. Lav tabel og udfyld systematisk. Målet er at kende m(1, n). j i n n
44 Tabel Gentagelser blandt delproblemers delproblemer. Lav tabel og udfyld systematisk. Målet er at kende m(1, n). j i n n Tabelstørrelse: n 2 /2 Udfyld tabelindgang: O(max størrelse af røde graf) = O(n). Tid i alt: O(produktet af de to) = O(n 3 ).
45 Tabel Gentagelser blandt delproblemers delproblemer. Lav tabel og udfyld systematisk. Målet er at kende m(1, n). j i n n Tabelstørrelse: n 2 /2 Udfyld tabelindgang: O(max størrelse af røde graf) = O(n). Tid i alt: O(produktet af de to) = O(n 3 ). Find konkret løsning: følg de optimale valg baglæns.
Dynamisk programmering. Flere eksempler
Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld
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 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 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 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 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 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 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 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 mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer (af samme type). 2. Løs delproblemerne ved rekursion (dvs. kald algoritmen
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 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 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 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 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 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 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 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 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 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 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 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 mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mere28 Algoritmedesign. Noter. PS1 -- Algoritmedesign
28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
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 mereSortering af information er en fundamental og central opgave.
Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereSortering. De n tal i sorteret orden. Eksempel: Kommentarer:
Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus
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 mereBinære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo
Philip Bille er. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key og satellitdata x.data. operationer. PREDECESSOR(k): returner element x med største nøgle k. SUCCESSOR(k):
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 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 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 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 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 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 mereSortering af information er en fundamental og central opgave.
Sortering 1 / 36 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 6, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
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 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 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 mereGrundlæggende køretidsanalyse af algoritmer
Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers
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 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 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 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
Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det
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 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 mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7
Side af 0 sider Opgave (%) Ja Nej /n er O(n )? n (logn) er O(n 3 )? n + n er O(3 n )? n er O((logn) 3 )? nlogn er Ω(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen:
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 mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n
Eksamen. kvarter 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) Ja Nej n er O(n )? n er O(n )? n er O(n + 0 n)? n + n er O(n )? n log n er Ω(n )? Opgave (%) Opskriv følgende funktioner
Læs mereAlgorithms 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 mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 5 (fem) Eksamensdag: Fredag den 10. august 007, kl.
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 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 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 25. juni 200, kl. 9.00-.00
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 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 mereSøgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning
Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]
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 merePerspektiverende Datalogi Klassiske Algoritmer
Perspektiverende Datalogi Klassiske Algoritmer Gerth Stølting Brodal 1 Indhold Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer Ressourceforbrug for algoritmer Kompleksitet
Læs mereSelvstudium 1, Diskret matematik
Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet
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 mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR ATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Algoritmer og atastrukturer (00-ordning) Antal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. august 0,
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 mereIntroduktion Til Konkurrenceprogrammering
Introduktion Til Konkurrenceprogrammering Søren Dahlgaard og Mathias Bæk Tejs Knudsen {soerend,knudsen}@di.ku.dk Version 0.1 Indhold Indhold i Introduktion 1 1 Palindromer 3 1.1 Introduktion til Python...............
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 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 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): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,
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 mereMajoritetsproblemet Problem Præcisering af inddata Præcisering af uddata
Majoritetsproblemet Problem: Til præsidentvalget i Frankrig har cirka 20 millioner vælgere afgivet deres stemme på et antal præsidentkandidater. Afgør om en af kandidaterne har opnået mere end halvdelen
Læs mereEt generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige
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 mereDM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen
DM13-1. Obligatorisk opgave E.05 Jacob Aae Mikkelsen - 191076 26. september 2005 Indhold Analyse af problemstillingen........................ 2 Spørgsmål 1................................. 3 Spørgsmål
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 mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 10. august 2012, kl. 9.00-11.00 Eksamenslokale: Finlandsgade
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 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
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 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 mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2010 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 24. april, 2010 (let justeret 10. maj og 21. maj 2010) Dette projekt udleveres i tre
Læs mereTeoretiske Øvelsesopgaver:
Teoretiske Øvelsesopgaver: TØ-Opgave 1 Subtraktion division i legemer: Er subtraktion division med elementer 0 i legemer veldefinerede, eller kan et element b have mere end ét modsat element -b eller mere
Læs mereSøgning og Sortering. Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering. Philip Bille
Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering Philip Bille Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering
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 merePerspektiverende Datalogikursus
Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 2. september 2005 1 Afleveringsopgaver... /\.. // \\ / \ / [] \ \\_// / \ / \ []._. ---------------- _ 2 Øvelse
Læs mereNoter til DM517 Beregnelighed
Noter til DM517 Beregnelighed Jonas Nyrup 23. oktober 2011 Indhold 1 Et par noter 2 2 Regulære sprog 2 2.1 DFA................................. 2 2.1.1 Eksempler.......................... 3 2.2 NFA.................................
Læs mereSyntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik
Datalogi C, RUC Forelæsning 22. november 2004 Henning Christiansen Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Dagens program Hvad
Læs mereInduktive og rekursive definitioner
Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n+logn logn (logn) 7 (3/2) n
Side af sider Opgave (%) Ja Nej n er O( n )? n er O(log n)? n er O(n )? n + er O(0n)? nlogn er O(n / )? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: nlogn logn
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 16. august 2013,
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 mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 2 2 n 1/n (logn) n. n 2
Side af sider Opgave (%) Ja Nej n er O(n n)? n er O(n+n )? ( n ) er O( n )? logn er O(n / )? n +n er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn)
Læs mereDefinition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.
Oversigt [LA] 3, 4, 5 Nøgleord og begreber Matrix multiplikation Identitetsmatricen Transponering Fra matrix til afbildning Fra afbildning til matrix Test matrix-afbildning Inverse matricer Test invers
Læs mereNøgleord og begreber. Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.
Oversigt [LA] 3, 4, 5 Matrix multiplikation Nøgleord og begreber Matrix multiplikation Identitetsmatricen Transponering Fra matrix til afbildning Fra afbildning til matrix Test matrix-afbildning Inverse
Læs mereOpgave 1 (10%) I det følgende angiver log n 2-tals-logaritmen af n. Ja Nej. n+3n er O(2n)? n 6 er O(n 5 )? nlogn er O(n 2 /logn)? 4n 3 er O(3n 4 )?
Eksamen juni Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) I det følgende angiver log n -tals-logaritmen af n. n+n er O(n)? n 6 er O(n )? nlogn er O(n /logn)? n er O(n )? n er O(n )?
Læs mereSortering i lineær tid
Sortering i lineær tid Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel. Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel.
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 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 mereMandags Chancen. En optimal spilstrategi. Erik Vestergaard
Mandags Chancen En optimal spilstrategi Erik Vestergaard Spilleregler denne note skal vi studere en optimal spilstrategi i det spil, som i fjernsynet går under navnet Mandags Chancen. Spillets regler er
Læs mere