Kvartetafstand Chris Christiansen

Størrelse: px
Starte visningen fra side:

Download "Kvartetafstand Chris Christiansen"

Transkript

1 Kvartetafstand Chris Christiansen 1 af 58

2 Oversigt Kvartetafstanden. Skitsering af algoritmer. Implementering og tool. Eksperimenter. Visualisering. 2 af 58

3 Afstand mellem træer 3 af 58

4 Træer Rodet Urodet 4 af 58

5 Fylogenetiske træer Sammenhænge mellem arter 5 af 58

6 Forskellige træer Forskellige rekonstruktionsmetoder kan give forskellige træer, med samme input data. Forskelligt data kan give forskellige træer for samme rekonstruktionsmetoder. 6 af 58

7 Kvartetafstand Kvartet: Fire navngivne blade i et træ. a d c b 7 af 58

8 Kvartetafstand Kvartet: Fire navngivne blade i et træ. Kvartettopologi: Konfigurationen af kvartettens fire blade i træet. a d c b a d Fire mulige kvartettopologier: c b 8 af 58

9 Kvartetafstand Kvartet: Fire navngivne blade i et træ. Kvartettopologi: Konfigurationen af kvartettens fire blade i træet. a d c b a d Fire mulige kvartettopologier: c b Kvartetafstand mellem to træer: Antallet af kvartetter der ikke har samme topologi i begge træer. 9 af 58

10 Kvartetafstand Kvartetafstand mellem binære træer. Steel & Penny (1993) Bryant, Tsang, Kearney & Li (2000) Brodal, Fagerberg & Pedersen (2003) O(n3) O(n2) O(n log(n)) Kvartetafstand mellem træer af konstant maksimal grad. Stissing et. al. (2006) O(n log(n)) Kvartetafstand mellem træer af vilkårlig grad. Piaggio-Talice et. al. (2004) Martin Randers & Chris Christiansen (2006) O(n4) af 58

11 De afgørende forskelle Træer af vilkårlig grad kan indeholde kvartetter med stjernetopologi. butterfly butterfly butterfly stjerne Knuder i træer af vilkårlig grad er forbundet til et vilkårligt antal andre knuder. 11 af 58

12 Vores algoritmer Fem algoritmer inddelt i tre kategorier ud fra fremgangsmåde. Centerbaserede to algoritmer. Kantbaserede (edge claiming) to algoritmer. Knudebaserede (node claiming) en algoritme. Alle algoritmerne, pånær den første, kræver at ethvert undertræs størrelse er kendt O(n) tid og plads. Alle algoritmerne, pånær den første, kræver at størrelsen på alle par af undertræers delte bladmængder er kendte O(n2) tid og plads (mindre for den sidste kantbaserede algoritme og den knudebaserede algoritme). 12 af 58

13 Centerbaserede algoritmer En triplet af blade (a, b, c) har en unik intern knude, centerknuden C, hvor stierne mellem de tre blade mødes. Enhver kant ud fra centerknuden repræsenterer et undertræ. 13 af 58

14 Centerbaserede algoritmer For alle O(n3) tripletter (a, b, c). Find og gem topologien af kvartetten (a,b,c,x), hvor x er alle blade der ikke er a, b eller c i begge input træer O(n) tid og plads. x Sammenlign de O(n) kvartetters topologier - O(n) tid. Tidsforbrug: O(n4). Pladsforbrug: O(n). Optimalt for direkte sammenligning af topologier. k træer kan sammenlignes i O(kn4) tid og O(kn) plads. 14 af 58

15 Centerbaserede algoritmer Antal delte butterflykvartetter hvor a og x er nærmeste naboer: Ta T'a - 1. x Tilsvarende for de to andre typer af delte butterfly kvartetter. Antal kvartetter med stjernetopologi i begge træer, kan også beregnes i konstant tid ud fra størrelserne af undertræerne og disses fælles bladmængder. 15 af 58

16 Centerbaserede algoritmer For alle par af blade (a, b) - O(n2) Find alle centre for tripler (a, b, c) - O(n) tid og plads For hver triplet inkl. center Beregn og summér antal delte kvartetter O(1) tid og plads. Træk den samlede sum fra ( Tid O(n3). Plads O(n2). n 4 ) for at få kvartetafstanden. 16 af 58

17 Kvartetafstanden opdelt To input-træer T og T'. Antal ikke-delte butterflykvartetter: Antal kvartetter med stjernetopologi i T og butterflytopologi i T': Antal kvartetter med butterflytopologi i T og stjernetopologi i T': Antal butterflykvartetter med samme topologi i T og T': Antallet af kvartetter med stjernetopologi i både T og T': QB B(T, T') QSB (T, T') QBS (T, T') QB=B(T, T') QSS (T, T') 17 af 58

18 Kvartetafstanden opdelt To input-træer T og T'. Antal ikke-delte butterflykvartetter: Antal kvartetter med stjernetopologi i T og butterflytopologi i T': Antal kvartetter med butterflytopologi i T og stjernetopologi i T': Antal butterflykvartetter med samme topologi i T og T': Antallet af kvartetter med stjernetopologi i både T og T': QB B(T, T') QSB (T, T') QBS (T, T') QB=B(T, T') QSS (T, T') qdist(t, T') = QB B (T, T') + QSB (T, T') + QBS (T, T') 18 af 58

19 Kvartetafstanden opdelt 19 af 58

20 Kvartetafstanden opdelt 2x qdist(t, T') = QB=B(T, T) + QB=B(T', T') - 2 QB=B(T, T') - QB B(T, T'). 20 af 58

21 Kvartetafstanden opdelt 2x qdist(t, T') = QB=B(T, T) + QB=B(T', T') - 2 QB=B(T, T') - QB B(T, T'). Kvartetafstanden for træer af vilkårlig grad kan beregnes uden at betragte stjernekvartetter! 21 af 58

22 Kantbaserede algoritmer Butterflykvartetter der induceres af en kant. Orienterede kanter. Orienterede kanter gør krav på butterflykvartetter. _e 1 Claim: F F 1, F2. Generelle træer: O(d2) claims pr. orienteret kant. 22 af 58

23 Kantbaserede algoritmer For alle par orienterede kanter - O(n2) For alle par claims - O(d2 d'2) Sammenlign claims - O(1) Tidsforbrug: O(n2 d2 d'2). 2 Pladsforbrug: O(n ). Observér: Nok at se på kanter mellem indre knuder. Tidsforbrug: O( V V' d2 d'2). Tidsforbrug ved ekspansion: O( V V' d d'). 23 af 58

24 Kantbaserede algoritmer Delte butterflykvartetter: Tæl antal delte kvartetter som induceres af orienterede kanter. Træk antal delte kvartetter som ikke kræves af disse kanter fra. Ikke-delte butterflykvartetter: Tæl antal ikke-delte kvartetter som induceres af orienterede kanter. Træk antal ikke-delte kvartetter som ikke kræves af disse kanter fra. 24 af 58

25 Kantbaserede algoritmer Antal delte butterflykvartetter: F G ( F G ) ( ) 2 2 a c b a d c b d 25 af 58

26 Kantbaserede algoritmer Antal delte butterflykvartetter: F G ( F G ) ( ) 2 2 a c b a d c b d 26 af 58

27 Kantbaserede algoritmer Antal delte butterflykvartetter: F G ( F G ) ( ) 2 2 a c b a d c b d Antal butterflykvartetter: ikke-delte F G F G F G F G 27 af 58

28 Kantbaserede algoritmer For alle par indre kanter Beregn antal delte kvartetter som in F G duceres af både e og e': ( F G )( 2 ) 2 = = 28 af 58

29 Kantbaserede algoritmer For alle par indre kanter Beregn antal delte kvartetter som in F G duceres af både e og e': ( F G )( 2 ) 2 Fratræk antal delte kvartetter der ikke F G Fi G er gjort krav på af e: Σ( )( 2 ). i 5 2 = = 29 af 58

30 Kantbaserede algoritmer For alle par indre kanter Beregn antal delte kvartetter som in F G duceres af både e og e': ( F G )( 2 ) 2 Fratræk antal delte kvartetter der ikke F G Fi G er gjort krav på af e: Σ( )( 2 ). i 5 2 Fratræk antal delte kvartetter der ikke F G F Gj er gjort krav på af e': Σ( 2 )( 2 ). j 5 = = 30 af 58

31 Kantbaserede algoritmer For alle par indre kanter Beregn antal delte kvartetter som in F G duceres af både e og e': ( F G )( 2 ) 2 Fratræk antal delte kvartetter der ikke F G Fi G er gjort krav på af e: Σ( )( 2 ). i 5 2 Fratræk antal delte kvartetter der ikke F G F Gj er gjort krav på af e': Σ( 2 )( 2 ). j 5 Tillæg antal delte kvartetter der ikke er gjort krav på af hverken e eller e': F G Fi Gj ΣΣ( )( 2 ). i 5 j 5 2 = = 31 af 58

32 Kantbaserede algoritmer For alle par indre kanter Beregn antal delte kvartetter som in F G duceres af både e og e': ( F G )( 2 ) 2 Fratræk antal delte kvartetter der ikke F G Fi G er gjort krav på af e: Σ( )( 2 ). i 5 2 Fratræk antal delte kvartetter der ikke F G F Gj er gjort krav på af e': Σ( 2 )( 2 ). j 5 Tillæg antal delte kvartetter der ikke er gjort krav på af hverken e eller e': F G Fi Gj ΣΣ( )( 2 ). i 5 j 5 2 = = Tilsvarende for ikke-delte butterflykvartetter. Tidsforbrug: O( V V' d d'). 32 af 58

33 Kantbaserede algoritmer Nok at se på indre kanter! Tidsforbrug: O(n + V V' id id'). Worst case: O(n4). n_ n_ d-ære træer: O( d d' id id') = O(n2). Pladsforbrug: O(n + V V' ). 33 af 58

34 Knudebaseret algoritme Samme princip som den sidste kantbaserede algoritme. Et par knuder behandles ad gangen (alle knudernes kanter behandles). Summer der kan genbruges, forudberegnes. Tidforbrug: O(n + V V' min{id,id'}). Worst case: O(n3). d-ære træer: O(n2). Pladsforbrug: O(n + V V' ). 34 af 58

35 Knudebaseret algoritme 35 af 58

36 Knudebaseret algoritme 36 af 58

37 Knudebaseret algoritme 37 af 58

38 Algoritmer Algoritme Tidsforbrug Pladsforbrug Centerbaseret 1 O(n4) O(n) Centerbaseret 2 O(n3) O(n2) Kantbaseret (grundidé) O( V V' d2 d'2) O(n2) Kantbaseret (ekspansion) O( V V' d d') O(n2) Kantbaseret (inducering) O(n + V V' id id') O(n + V V' ) Knudebaseret O(n + V V' min{id,id'}) O(n + V V' ) 38 af 58

39 Implementeringer Vores fem algoritmer er implementerede i Java. Testet for korrekthed. Testet for tidsforbrug i praksis. Robuste og kan udskiftes med hinanden (interface). Tool kan downloades og bruges. Kun den knudebaserede algoritme kan bruges via tool. GUI med løs kobling til tool kan downloades. En sjette algoritme med ekstra funktionalitet (visualisering). 39 af 58

40 Eksperimenter Test af korrekthed. Resultater af forskellige algoritmer sammenlignet. Alle de implementerede algoritmer er blevet testet i praksis mht. tidsforbrug. Worst case træer. d-ære træer. Træer med tilfældig topologi. r8s-baserede træer. 40 af 58

41 Eksperimenter Test af korrekthed. Resultater af forskellige algoritmer sammenlignet. Alle de implementerede algoritmer er blevet testet i praksis mht. tidsforbrug. Worst case træer. d-ære træer. Træer med tilfældig topologi. r8s-baserede træer. 41 af 58

42 Eksperimenter tidsforbrug, simuleret data 42 af 58

43 Eksperimenter tidsforbrug, worst case træer 43 af 58

44 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. 44 af 58

45 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. Idéer Opbyg consensus træer. Annotér input træer med information om delte kvartetter. 45 af 58

46 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. Idéer Opbyg consensus træer. Annotér input træer med information om delte kvartetter. Centerknuder og kanter der claimer. 46 af 58

47 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. Idéer Opbyg consensus træer. Annotér input træer med information om delte kvartetter. Centerknuder og kanter der claimer. Tidsforbrug: O(n3 + V V' min{id, id'}) = O(n3). Pladsforbrug: O(n2). Mindst fire kanter og en knude er associeret til en stjernekvartet. Mindst fem kanter og to knuder er associeret til en butterflykvartet. 47 af 58

48 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. Idéer Opbyg consensus træer. Annotér input træer med information om delte kvartetter. Centerknuder og kanter der claimer. Centerknuder og kanter der inducerer. 48 af 58

49 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. Idéer Opbyg consensus træer. Annotér input træer med information om delte kvartetter. Centerknuder og kanter der claimer. Centerknuder og kanter der inducerer. Tidsforbrug: O(n3 + V V' min{id, id'}) = O(n3). Pladsforbrug: O(n2). Mindst fire kanter og en knude er associeret til en stjernekvartet. Kanter udenfor forgrening annoteres ikke. 49 af 58

50 Visualisering 50 af 58

51 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. Idéer Opbyg consensus træer. Annotér input træer med information om delte kvartetter. Centerknuder og kanter der claimer. Centerknuder og kanter der inducerer. Alle kanter indgår i en delt kvartet. 51 af 58

52 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. Idéer Opbyg consensus træer. Annotér input træer med information om delte kvartetter. Centerknuder og kanter der claimer. Centerknuder og kanter der inducerer. Alle kanter indgår i en delt kvartet. Tidsforbrug: O(n5) (kan gøres på O(n4)). Pladsforbrug: O(n). Knuder er altid omgivet af kanter. 52 af 58

53 Visualisering 53 af 58

54 Visualisering Kvartetafstanden er et tal. Visualisering af ligheder mellem to input træer. Idéer Opbyg consensus træer. Annotér input træer med information om delte kvartetter. Centerknuder og kanter der claimer. Centerknuder og kanter der inducerer. Alle kanter indgår i en delt kvartet. Tidsforbrug: O(n5) (kan gøres på O(n4)). Pladsforbrug: O(n). Knuder er altid omgivet af kanter. Online udgave (ved brug af udraw(graph)). 54 af 58

55 Visualisering 55 af 58

56 Visualisering 56 af 58

57 Visualisering 57 af 58

58 Oversigt Dette foredrag Kvartetafstanden. Skitsering af algoritmer & stjernekvartetter kan undlades. Implementering og tool. Eksperimenter. Visualisering. Yderligere i specialet Diskussion af tidligere algoritmer. Udregning af undertræers størrelser og delte bladmængder. Udregning af butterflykvartetter i et enkelt træ. Relaterede mål. Input træer der ikke opfylder antagelserne algoritmerne gør. Forbedring af pladsforbrug. Sammenligning med splitafstanden. 58 af 58

Datastrukturer (recap)

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

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

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

Datastrukturer (recap)

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

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

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

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer:

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

Intervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed

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

Algoritmisk geometri

Algoritmisk 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 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 i lineær tid

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

Sortering af information er en fundamental og central opgave.

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

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

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

Sortering af information er en fundamental og central opgave.

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

Metoder til Sammenligning af Træer

Metoder til Sammenligning af Træer Århus Universitet Datalogisk Institut Metoder til Sammenligning af Træer Speciale Erik Mejer Hansen 20020564 30. april 2007 Vejleder: Christian Nørgaard Storm Pedersen Abstract Evolutionary trees describe

Læs mere

DM507 Algoritmer og datastrukturer

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

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

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

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

Datastrukturer (recap) Datastruktur = data + operationer herpå

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

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

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

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

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

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

Selvstudium 1, Diskret matematik

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

Netværksalgoritmer 1

Netvæ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 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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7

Opskriv 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 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 I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 5n 4. logn. n 4n 5 n/logn. n n/logn 5n

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

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

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

Om binære søgetræer i Java

Om binære søgetræer i Java Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n

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

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

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

Rekonstruktion af evolutionære træer vha. eksperimenter

Rekonstruktion af evolutionære træer vha. eksperimenter Rekonstruktion af evolutionære træer vha. eksperimenter Casper Lund Thomsen 19993647 Mads Laursen 19993727 Vejleder: Christian Nørgaard Storm Pedersen Datalogisk

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n+logn logn (logn) 7 (3/2) n

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

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%

Læs mere

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

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

Grundlæggende køretidsanalyse af algoritmer

Grundlæ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 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

Opgave 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 )?

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

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 2 2 n 1/n (logn) n. n 2

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

Sammenhængskomponenter i grafer

Sammenhæ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 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

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle

Læs mere

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning) INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 Eksamensdag: Tirsdag den 7. juni 16, kl. 9.-11. Tilladte medbragte

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 5. 5n 2 5 logn. 2 logn

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 5. 5n 2 5 logn. 2 logn Eksamen august 0 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) n +n er O(n )? Ja Nej n er O(n )? n+n er O(n. )? n+n er O(8n)? n logn er O(n )? Opgave (%) Opskriv følgende funktioner

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Danmarks Tekniske Universitet

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

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle

Læs mere

16. marts P NP. Essentielle spørgsmål: NP P? Et problem Q kaldes NP -fuldstændigt 1 Q NP 2 R NP : R pol Q. Resume sidste gang

16. marts P NP. Essentielle spørgsmål: NP P? Et problem Q kaldes NP -fuldstændigt 1 Q NP 2 R NP : R pol Q. Resume sidste gang 16. marts Resume sidste gang Abstrakt problem konkret instans afgørlighedsproblem Effektiv kodning (pol. relateret til binær kodning) Sprog L : mængden af instanser for et afgørlighedsproblem hvor svaret

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DM507 Algoritmer og datastrukturer

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

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

Danmarks Tekniske Universitet

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 3/2. n logn (3/2) n. 2 3logn (3/2) n

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

DM507 Algoritmer og datastrukturer

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

Læs mere

Symmetrisk Traveling Salesman Problemet

Symmetrisk Traveling Salesman Problemet Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,

Læs mere

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

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

Danmarks Tekniske Universitet

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

DM507 Algoritmer og datastrukturer

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

Læs mere

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

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

På nedenstående billede skal du finde den figur som optræder nøjagtig 3 gange.

På nedenstående billede skal du finde den figur som optræder nøjagtig 3 gange. Navn: Klasse: Materiale ID: PIC.33.1.1.da Lærer: Dato: Klasse: Materiale ID: PIC.33.1.1.da Navn: Klasse: Materiale ID: PIC.33.2.1.da Lærer: Dato: Klasse: Materiale ID: PIC.33.2.1.da Navn: Klasse: Materiale

Læs mere

16. december. Resume sidste gang

16. december. Resume sidste gang 16. december Resume sidste gang Abstrakt problem, konkret instans, afgørlighedsproblem Effektiv kodning (pol. relateret til binær kodning) Sprog L : mængden af instanser for et afgørlighedsproblem hvor

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

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

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

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

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

Evolutionstræer (Phylogenetic trees)

Evolutionstræer (Phylogenetic trees) BM forelæsning d november 00 Referat af Claus Skovgaard Evolutionstræer (Phylogenetic trees) Baseres på hvor meget de forskellige arter ligner hinanden og hvordan man tror udviklingen har forløbet menneske

Læs mere

Opskriv 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

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

Danmarks Tekniske Universitet

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): (fjorten) Eksamensdag: Mandag den. juni 0, kl. 9.00-.00 Tilladte medbragte hjælpemidler:

Læs mere

.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)}

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

INSTITUT 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: Torsdag den 21. marts 2013,

Læs mere

Perspektiverende Datalogi Klassiske Algoritmer

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

Mindste udspændende træ

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 11. august 2011,

Læs mere

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning Institut for Matematik og Datalogi Syddansk Universitet, Odense 21. februar 2011 LMF DM507 Eksamen Obligatorisk Opgave Rejseplanlægning 1 Problemet Denne opgave går ud på at lave et program, som ud fra

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Onsdag den 31. marts 2010, kl.

Læs mere

DM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen

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

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

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

Rolf Fagerberg. Forår 2012

Rolf Fagerberg. Forår 2012 Forår 2012 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM502 og DM503 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM502 og DM503 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,

Læs mere

Danmarks Tekniske Universitet

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

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

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

Vejledende løsninger

Vejledende løsninger Roskilde Universitetscenter side 1 af 8 sider Vejledende løsninger Opgave 1 Spørgsmål 1.1 a = b - a; b = b - a; a = b + a; Opgaven har flere løsninger. En anden løsning er: a = b + a; b = a - b; a = a

Læs mere

Forén og find. Forén og find. Forén og find. Anvendelser

Forén og find. Forén og find. Forén og find. Anvendelser Phlp Blle (unon-fnd). Vedlgehold en dynamsk famle af mængder under operatoner: INIT(n): opret mængder {}, {},, {n} UNION(,): forener de to mængder der ndeholder og. Hvs og er samme mængde skal der ngentng

Læs mere

2 Supertræer Træer Supertræer Fordele ved supertræer Kritik af supertræer... 11

2 Supertræer Træer Supertræer Fordele ved supertræer Kritik af supertræer... 11 Indhold 1 Indledning 3 2 Supertræer 7 2.1 Træer............................... 7 2.2 Supertræer............................. 8 2.2.1 Fordele ved supertræer.................. 9 2.2.2 Kritik af supertræer...................

Læs mere