Grundlæggende køretidsanalyse af algoritmer

Størrelse: px
Starte visningen fra side:

Download "Grundlæggende køretidsanalyse af algoritmer"

Transkript

1 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

2 Algoritmers effektivitet To forskellige mål for en algoritmes effektivitet: 1. Tidsforbrug: Hvad er algoritmens køretid? 2. Pladsforbrug: Hvad er algoritmens (ekstra) lagerforbrug? Samlet benævnes tids- og pladsanalyse også kompleksitetsanalyse. I det efterfølgende fokuseres udelukkende på teknikker til forudsigelse af algoritmers tidsforbrug (lignende teknikker benyttes til analyse af pladsforbrug). 2

3 Tidskompleksitet Første observation: Næsten alle algoritmer kræver længere køretid for at løse større problemer. Vi ønsker derfor at besvare følgende spørgsmål: Hvordan forøges en algoritmes køretid som funktion af størrelsen af inddata? 3

4 Tidskompleksitet Første observation: Næsten alle algoritmer kræver længere køretid for at løse større problemer. Vi ønsker derfor at besvare følgende spørgsmål: Hvordan forøges en algoritmes køretid Giver anledning til flere spørgsmål: som funktion af størrelsen af inddata? Størrelsen af inddata : Hvad er et godt mål for størrelsen af inddata til en algoritme? Køretiden : For hvilke inddata af størrelse skal vi måle køretiden? På hvilken computer skal vi måle køretiden? Hvilket programmeringssprog og hvilken oversætter skal vi benytte? [...] 3-a

5 Et eksempel: Sekventiel søgning i et array Der er givet et array af heltal med indgange Findes elementet e=34 i arrayet? Benyt sekventiel søgning: Sammenlign med for indtil der er et sammenfald (om noget overhovedet). 4

6 Definition af inddatastørrelse I mange tilfælde kan vi lade betegne antallet af elementer i inddata, f.eks. antallet af elementer der skal sorteres eller antallet af elementer i det array hvor sekventiel søgning skal foretages. 5

7 matrice med knuder og heltal, hvert på Definition af inddatastørrelse I mange tilfælde kan vi lade betegne antallet af elementer i inddata, f.eks. antallet af elementer der skal sorteres eller antallet af elementer i det array hvor sekventiel søgning skal foretages. Dog ikke problemfrit. Hvad er problemstørrelsen for følgende inddata? en elementer der er forskellige fra nul en graf med kanter en liste med en liste med strenge cifre 5-a

8 matrice med knuder og heltal, hvert på Definition af inddatastørrelse I mange tilfælde kan vi lade betegne antallet af elementer i inddata, f.eks. antallet af elementer der skal sorteres eller antallet af elementer i det array hvor sekventiel søgning skal foretages. Dog ikke problemfrit. Hvad er problemstørrelsen for følgende inddata? en elementer der er forskellige fra nul en graf med kanter en liste med en liste med strenge cifre Generel definition af inddatastørrelse: Antallet af bit der benyttes ved en fornuftig repræsentation af inddata. I alle de efterfølgende eksempler er inddata elementer (f.eks. heltal) af begrænset størrelse. 5-b

9 Definition af køretid Vi ønsker at estimere køretiden ved at tælle antallet af basale operationer som algoritmen foretager. 6

10 Definition af køretid Vi ønsker at estimere køretiden ved at tælle antallet af basale operationer som algoritmen foretager. Eksempel: I sekventiel søgning er sammenligning af to heltal den basale operation. 6-a

11 Definition af køretid Vi ønsker at estimere køretiden ved at tælle antallet af basale operationer som algoritmen foretager. Eksempel: I sekventiel søgning er sammenligning af to heltal den basale operation. Antag at den basale operation kan udføres i op tid på en bestemt computer. Lad være antallet af udførte basale operationer for inddatastørrelse. Så er op 6-b

12 Køretidens afhængighed af inddata For en given algoritme findes der mange forskellige inddata af størrelse. Hvilke inddata skal benyttes til estimering af køretiden? 7

13 Køretidens afhængighed af inddata For en given algoritme findes der mange forskellige inddata af størrelse. Hvilke inddata skal benyttes til estimering af køretiden? Eksempel: I sekventiel søgning kan antallet af basale operationer (sammenligninger) variere fra til sammenligninger, afhængig af inddata. 7-a

14 Køretidens afhængighed af inddata For en given algoritme findes der mange forskellige inddata af størrelse. Hvilke inddata skal benyttes til estimering af køretiden? Eksempel: I sekventiel søgning kan antallet af basale operationer (sammenligninger) variere fra til sammenligninger, afhængig af inddata. Tre muligheder for valg af inddata: Værste-tilfælde Estimer køretiden for inddata som giver den længste køretid. Bedste-tilfælde Estimer køretiden for inddata som giver den korteste køretid. Gennemsnits-tilfælde Estimer gennemsnitskøretiden for alle inddata. 7-b

15 Hvorfor benytte værste-tilfælde som mål for køretid? Fordele: Simpelt og veldefineret mål. Giver en garanti for den maksimale køretid hvilket er væsentligt for mange realtids systemer. Er langt nemmere at analysere end f.eks. gennemsnits-tilfælde. Er en etableret standard indenfor køretidsanalyse af algoritmer. Ulemper: Pessimistisk mål for en algoritmes effektivitet. Kan afvige væsentligt fra den typiske eller gennemsnitlige opførsel af en algoritme. 8

16 Køretid som funktion af inddatastørrelse Det essentielle spørgsmål: Hvordan vokser køretiden som funktion af inddatastørrelsen? 9

17 Køretid som funktion af inddatastørrelse Det essentielle spørgsmål: Hvordan vokser køretiden som funktion af inddatastørrelsen? Eksempel: Lad antallet af basale operationer være. Hvis inddata bliver dobbelt så stort, forøges køretiden med en faktor op op op op Bemærk: Både denne udregning! op og den multiplikative faktor går ud dvs. er uden betydning i 9-a

18 Store- notationen Definition En funktion siges at være læses storeaf af hvis der findes en positiv konstant og et positivt heltal således at for alle 10

19 og et positivt heltal således at af Store- notationen Definition En funktion en positiv konstant siges at være læses storeaf for alle Eksempler: er : vælg og. er : vælg og, eller er : vælg og. er : vælg og. 10-a hvis der findes og.

20 Klassiske effektivitetsklasser Klasse Betegnelse Eksempler Konstant Læsning/skriving/sammenligning af enkelte elementer Logaritmisk Binær søgning Lineær Sekventiel søgning; enkelt løkke n-log-n Hurtig sortering Faktoriel Generering af alle permutationer Eksponentiel Generering af alle delmængder Kubisk Tre indlejrede løkker Kvadratisk Langsom sortering; to indlejrede løkker 11

21 Vækst af køretid for klassiske effektivitetsklasser Klasse 12

22 Konstant køretid Køretid opadtil begrænset af en konstant uafhængig af inddata. basale operationer sjældent af en komplet algoritme. Typisk køretid for 13

23 Konstant køretid Køretid opadtil begrænset af en konstant uafhængig af inddata. basale operationer sjældent af en komplet algoritme. Typisk køretid for Eksempler: Addition, multiplikation eller sammenligning af to tal af typen int eller double. Bemærk at addition, multiplikation eller sammenligning af to tal med konstant-tids algoritme, hvis er vilkårlig. cifre ikke er en 13-a

24 Logaritmisk køretid logaritmer med forskellige grundtal er proportionale: Det er ikke nødvendigt at specificere grundtallet for logaritmen i et storeudtryk, idet logaritmen med grundtal 2, dvs. hvis I det følgende betegner. så er 14

25 Logaritmisk køretid logaritmer med forskellige grundtal er proportionale: Det er ikke nødvendigt at specificere grundtallet for logaritmen i et storeudtryk, idet logaritmen med grundtal 2, dvs. hvis 34 I det følgende betegner. så er Eksempel: Binær søgning. Søg efter element i sorteret array. #ops #elem a

26 Lineær køretid Svarer til den tid det tager at læse inddata. søgning og initialisering af et array tager lineær køretid. Elementære algoritmer som sekventiel 15

27 Lineær køretid Svarer til den tid det tager at læse inddata. søgning og initialisering af et array tager lineær køretid. Elementære algoritmer som sekventiel Eksempel: Fletning af to sorterede arrays eller lister af samlet længde Antallet af sammenligninger er præcis, dvs. køretiden er. 15-a

28 køretid Hurtige sorteringsalgoritmer har denne køretid. Der er ikke særlig stor forskel på lineær og tid i praksis. 16

29 køretid Hurtige sorteringsalgoritmer har denne køretid. Der er ikke særlig stor forskel på lineær og tid i praksis. Eksempel: Flettesortering af elementer. #ops #elem Antallet af sammenligninger er mindre end, hvor og. Altså er køretiden. 16-a

30 Kvadratisk køretid 17

31 Kvadratisk køretid Eksempel: Udvælgelsessortering af elementer. #ops #elem Antallet af sammenligninger er mindre end, dvs. køretiden er. 17-a

32 Eksponentiel køretid Typisk køretid for algoritmer, som genererer alle delmængder af en mængde. Bemærk at der er forskellige delmængder af en -element mængde. 18

33 Eksponentiel køretid Typisk køretid for algoritmer, som genererer alle delmængder af en mængde. Bemærk at der er forskellige delmængder af en -element mængde. Eksempel: Lad der være givet en mængde med heltal. Undersøg om mængden kan opsplittes i to dele, så summen af tallene i de to delmængder er ens. Der findes ingen algoritme, der (i værste-tilfælde) er hurtigere end den trivielle: Generer alle delmængder og undersøg om summen af elementerne i delmængden og dens komplement er ens. 18-a

34 Faktoriel/supereksponentiel køretid Denne køretid fås for algoritmer, der undersøger alle permutationer (rækkefølger) af en -element mængde. Der er forskellige permutationer af en -element mængde. 19

35 Faktoriel/supereksponentiel køretid Denne køretid fås for algoritmer, der undersøger alle permutationer (rækkefølger) af en -element mængde. Der er forskellige permutationer af en -element mængde. Eksempel: Lad der være givet byer. Den omrejsende sælgers problem er at besøge disse byer, således at den samlede rejste distance bliver minimeret. Der findes ingen algoritme der (i værste-tilfælde) er hurtigere end den trivielle: Generer alle mulige rækkefølger af byerne, udregn distancen for hver af disse og vælg den korteste. 19-a

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig 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 mere

UNION-FIND. UNION-FIND-problemet. Forbundethed kan være svær at afgøre (især for en computer) Eksempel på udførelse

UNION-FIND. UNION-FIND-problemet. Forbundethed kan være svær at afgøre (især for en computer) Eksempel på udførelse UNION-FIND-problemet UNION-FIND inddata: en følge af heltalspar (p, q); betydning: p er forbundet med q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel på anvendelse: Forbindelser i computernetværk

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig 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 mere

Analyse af algoritmer

Analyse af algoritmer Analyse af algoritmer Analyse af algoritmer Køretid Pladsforbrug Asymptotisk notation O, Θ og Ω-notation. Eksperimentiel analyse af algoritmer Philip Bille Analyse af algoritmer Analyse af algoritmer Køretid

Læs mere

Analyse af algoritmer. Analyse af algoritmer. Analyse af algoritmer. Køretid

Analyse af algoritmer. Analyse af algoritmer. Analyse af algoritmer. Køretid Philip Bille Mål. At bestemme og forudsige resourceforbrug og korrekthed af algoritmer Eks. Virker min algoritme til at beregne korteste veje i grafer? Hvor hurtigt kører min algoritme til at søge efter

Læs mere

Asymptotisk analyse af algoritmers køretider

Asymptotisk analyse af algoritmers køretider Asymptotisk analyse af algoritmers køretider Analyse af køretid Recall: Vi ønsker at vurdere (analysere) algoritmer på forhånd inden vi bruger lang tid på at implementere dem. De to primære spørgsmål:

Læs mere

Søgning og Sortering. Philip Bille

Søgning og Sortering. Philip Bille Søgning og Sortering Philip Bille Plan Søgning Linæer søgning Binær søgning Sortering Indsættelsesortering Flettesortering Søgning Søgning 1 4 7 12 16 18 25 28 31 33 36 42 45 47 50 1 2 3 4 5 6 7 8 9 10

Læs mere

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0. Konkrete funktioner Potenser Som udgangspunkt er brugen af potenser blot en forkortelse for at gange et tal med sig selv et antal gange. Hvis a Rskriver vi a 2 for a a a 3 for a a a a 4 for a a a a (1).

Læs mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Prioritetskøer og hobe. Philip Bille

Prioritetskø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 mere

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

02105 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 mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig 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 mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig 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 mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning

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

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur og

Læs mere

Asymptotisk analyse af algoritmers køretider

Asymptotisk analyse af algoritmers køretider Asymptotisk analyse af algoritmers køretider Analyse af køretid (RAM-modellen vs. virkeligheden) public class Linear { public static void main(string[] args) { long time = System.currentTimeMillis(); long

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, decimaltal (kommatal)) Bogstaver Computerinstruktion

Læs mere

Note om endelige legemer

Note om endelige legemer Note om endelige legemer Leif K. Jørgensen 1 Legemer af primtalsorden Vi har i Lauritzen afsnit 2.1.1 set følgende: Proposition 1 Lad n være et positivt helt tal. Vi kan da definere en komposition + på

Læs mere

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign

28 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Teoretiske Øvelsesopgaver:

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

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

Danmarks Tekniske Universitet

Danmarks 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 mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM526 Rolf Fagerberg, 2009 Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, kommatal) Bogstaver Computerinstruktion (program)

Læs mere

DM507 Algoritmer og datastrukturer

DM507 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1 Københavns Universitet, Det naturvidenskabelige Fakultet 1 Lineær Algebra (LinAlg) Afleveringsopgave 1 Eventuelle besvarelser laves i grupper af - 3 personer og afleveres i to eksemplarer med 3 udfyldte

Læs mere

Datalogi C + Datastrukturer og Algoritmer

Datalogi C + Datastrukturer og Algoritmer Datalogi C + Datastrukturer og Algoritmer Velkommen til DatC erne Dagens emne: Hvad er D&A, mål for effektivitet Kursuslærer: Henning Christiansen [email protected], http://www.ruc.dk/~henning Hjælpelærer

Læs mere

Danmarks Tekniske Universitet

Danmarks 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 mere

1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer

1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer 1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer på disse. Typer af lister: Array Enkelt linket liste Dobbelt linket Cirkulære lister Typer af køer: FILO FIFO

Læs mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. 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 mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. 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 mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig 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 mere

DesignMat Uge 1 Gensyn med forårets stof

DesignMat Uge 1 Gensyn med forårets stof DesignMat Uge 1 Gensyn med forårets stof Preben Alsholm Efterår 2010 1 Hovedpunkter fra forårets pensum 11 Taylorpolynomium Taylorpolynomium Det n te Taylorpolynomium for f med udviklingspunkt x 0 : P

Læs mere

Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)

Algoritmeanalyse. Ø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 mere

Dynamisk programmering. Flere eksempler

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} Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z},

Læs mere

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012

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

14 Algoritmeanalyse. Noter. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. Køretid for forskellige kontrolstrukturer.

14 Algoritmeanalyse. Noter. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. Køretid for forskellige kontrolstrukturer. 14 Algoritmeanalyse. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. O og Ω. Køretid for forskellige kontrolstrukturer. Eksempler på algoritmeanalyse. Eksponentiel og polynomiel

Læs mere

Introduktion til DM507

Introduktion til DM507 Introduktion til DM507 Rolf Fagerberg Forår 2017 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer 2 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA

Læs mere

Videregående Algoritmik. Version med vejledende løsninger indsat!

Videregående Algoritmik. Version med vejledende løsninger indsat! Videregående Algoritmik DIKU, timers skriftlig eksamen, 1. april 009 Nils Andersen og Pawel Winter Alle hjælpemidler må benyttes, dog ikke lommeregner, computer eller mobiltelefon. Opgavesættet består

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Introduktion til kurset Rolf Fagerberg Forår 2019 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, Institut for Matematik og Datalogi (IMADA) Forskningsområde: algoritmer

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 29. april, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

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

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang (API =

Læs mere

Reeksamen i Diskret Matematik

Reeksamen i Diskret Matematik Reeksamen i Diskret Matematik Første studieår ved Det Teknisk-Naturvidenskabelige Fakultet 23. august, 2016, 9.00-13.00 Dette eksamenssæt består af 11 nummerede sider med 16 opgaver. Alle opgaver er multiple

Læs mere

matx.dk Enkle modeller

matx.dk Enkle modeller matx.dk Enkle modeller Dennis Pipenbring 28. juni 2011 Indhold 1 Indledning 4 2 Funktionsbegrebet 4 3 Lineære funktioner 8 3.1 Bestemmelse af funktionsværdien................. 9 3.2 Grafen for en lineær

Læs mere