Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
|
|
- Flemming Marcussen
- 6 år siden
- Visninger:
Transkript
1 Grådige algoritmer
2 Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
3 Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen bid for bid ved hele tiden af vælge hvad der lige nu ser ud som bedste valg (uden at tænke på resten af løsningen). Dvs. man håber på at lokal optimering giver global optimering.
4 Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen bid for bid ved hele tiden af vælge hvad der lige nu ser ud som bedste valg (uden at tænke på resten af løsningen). Dvs. man håber på at lokal optimering giver global optimering. Mere præcist kræver metoden en definition af bedste valg (også kaldet grådig valg ), samt et bevis for gentagen brug af dette ender med en optimal løsning.
5 Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen bid for bid ved hele tiden af vælge hvad der lige nu ser ud som bedste valg (uden at tænke på resten af løsningen). Dvs. man håber på at lokal optimering giver global optimering. Mere præcist kræver metoden en definition af bedste valg (også kaldet grådig valg ), samt et bevis for gentagen brug af dette ender med en optimal løsning. Mange grådige algoritmer kan forklares som specialtilfælde af begrebet Matroide (afsnit 16.4, ikke pensum), men vi vil nøjes med at tænke på grådige algoritmer som et løst princip, hvor bedste valg og korrekthedsbevis skal opfindes individuelt fra problem til problem.
6 Eksempel: et simpelt skeduleringsproblem Input: en samling aktiviteter, hver med en starttid og sluttid. Output: en størst mulig mængde af ikke-overlappende aktivititer.
7 Eksempel: et simpelt skeduleringsproblem Input: en samling aktiviteter, hver med en starttid og sluttid. Output: en størst mulig mængde af ikke-overlappende aktivititer. Grådigt forslag: Sorter aktiviteter efter stigende sluttid For hver aktivitet a taget i den rækkefølge: If a overlapper allerede valgte aktiviteter: Skip a Else Vælg a... Tid
8 Analyse Vi vil vise følgende invariant: Der findes en optimal løsning OPT som indeholder de af algoritmen indtil nu valgte aktiviteter.
9 Analyse Vi vil vise følgende invariant: Der findes en optimal løsning OPT som indeholder de af algoritmen indtil nu valgte aktiviteter. Når algoritmen er færdig, følger korrekthed af denne invariant: Algoritmens valgte aktiviteter ligger inden i en optimal løsning OPT. Pga. algoritmens virkemåde vil alle ikke-valgte aktiviteter overlappe en af de valgte. Altså kan algoritmens løsning ikke udvides og stadig være en løsning. Specielt kan OPT ikke være større end algoritmens valgte løsning, som derfor er lig med OPT.
10 Analyse Bevis for invariant ved induktion: Basis: Klart før første iteration af for-løkken (da ingen aktiviteter er valgt). Skridt: Lad OPT være den optimale løsning fra induktionsudsagnet før iterationen. Vi skal vise at der findes en optimal løsning OPT i induktionsudsagnet efter iterationen. If-case: Her vælger algoritmen intet nyt, så OPT kan bruges som OPT.
11 Analyse Else-case: Lad input efter sortering være aktiviteterne a 1, a 2,..., a n, lad a i være algoritmens senest valgte aktivitet og lad a j være aktiviteten, som vælges i denne iteration. Pga. invarianten indeholder OPT a i. I OPT kan a i ikke være den sidste (for så kunne OPT udvides med a j ). Lad a k være den næste i OPT efter a i. Da a j er den første aktivitet efter a i som ikke overlapper a i, må j k. Hvis j = k kan OPT genbruges som OPT. Ellers skifter vi a j i OPT ud med a i. Dette giver ikke overlap med andre aktiviteter i OPT (de stopper enten før a i eller starter efter a k og dermed efter a j ) og bevarer størrelsen. Vi har derfor en ny optimal løsning OPT som opfylder invarianten. [NB: I første iteration findes a i ikke, men vi kan sætte j = 1 og sige noget tilsvarende.]
12 Analyse Else-case: Lad input efter sortering være aktiviteterne a 1, a 2,..., a n, lad a i være algoritmens senest valgte aktivitet og lad a j være aktiviteten, som vælges i denne iteration. Pga. invarianten indeholder OPT a i. I OPT kan a i ikke være den sidste (for så kunne OPT udvides med a j ). Lad a k være den næste i OPT efter a i. Da a j er den første aktivitet efter a i som ikke overlapper a i, må j k. Hvis j = k kan OPT genbruges som OPT. Ellers skifter vi a j i OPT ud med a i. Dette giver ikke overlap med andre aktiviteter i OPT (de stopper enten før a i eller starter efter a k og dermed efter a j ) og bevarer størrelsen. Vi har derfor en ny optimal løsning OPT som opfylder invarianten. [NB: I første iteration findes a i ikke, men vi kan sætte j = 1 og sige noget tilsvarende.] Køretid:
13 Analyse Else-case: Lad input efter sortering være aktiviteterne a 1, a 2,..., a n, lad a i være algoritmens senest valgte aktivitet og lad a j være aktiviteten, som vælges i denne iteration. Pga. invarianten indeholder OPT a i. I OPT kan a i ikke være den sidste (for så kunne OPT udvides med a j ). Lad a k være den næste i OPT efter a i. Da a j er den første aktivitet efter a i som ikke overlapper a i, må j k. Hvis j = k kan OPT genbruges som OPT. Ellers skifter vi a j i OPT ud med a i. Dette giver ikke overlap med andre aktiviteter i OPT (de stopper enten før a i eller starter efter a k og dermed efter a j ) og bevarer størrelsen. Vi har derfor en ny optimal løsning OPT som opfylder invarianten. [NB: I første iteration findes a i ikke, men vi kan sætte j = 1 og sige noget tilsvarende.] Køretid: Sortering + O(n).
14 Rygsæksproblemet Rygsæk som kan bære W kg. Ting med værdi og vægt. Ting nr. i Vægt w i Værdi v i
15 Rygsæksproblemet Rygsæk som kan bære W kg. Ting med værdi og vægt. Ting nr. i Vægt w i Værdi v i Mål: tag mest mulig værdi med uden at overskride vægtgrænsen.
16 Rygsæksproblemet Fractional version af problemet (dele af ting kan medtages i rygsækken) kan løses med en grådig algoritme: vælg tingene efter aftagende nytte = værdi/vægt. Et simplet udskiftningsargument viser, at den optimale løsning kun kan være som den af algoritmen valgte.
17 Rygsæksproblemet Fractional version af problemet (dele af ting kan medtages i rygsækken) kan løses med en grådig algoritme: vælg tingene efter aftagende nytte = værdi/vægt. Et simplet udskiftningsargument viser, at den optimale løsning kun kan være som den af algoritmen valgte. NB: Denne grådige algoritme virker IKKE for 0-1 versionen af problemet (hvor kun hele ting kan medtages):
18 Rygsæksproblemet Fractional version af problemet (dele af ting kan medtages i rygsækken) kan løses med en grådig algoritme: vælg tingene efter aftagende nytte = værdi/vægt. Et simplet udskiftningsargument viser, at den optimale løsning kun kan være som den af algoritmen valgte. NB: Denne grådige algoritme virker IKKE for 0-1 versionen af problemet (hvor kun hele ting kan medtages):
19 Rygsæksproblemet Fractional version af problemet (dele af ting kan medtages i rygsækken) kan løses med en grådig algoritme: vælg tingene efter aftagende nytte = værdi/vægt. Et simplet udskiftningsargument viser, at den optimale løsning kun kan være som den af algoritmen valgte. NB: Denne grådige algoritme virker IKKE for 0-1 versionen af problemet (hvor kun hele ting kan medtages): Eksempel på at grådige valg ikke bare kan antages at virke for alle problemer (lokal optimering giver ikke altid global optimering).
20 Huffman-koder Kodning af sekvens af tegn (fil) via binære koder (for at gemme på disk, sende over netværk,... ). Ønsker kortest mulig fil (kompression).
21 Huffman-koder Kodning af sekvens af tegn (fil) via binære koder (for at gemme på disk, sende over netværk,... ). Ønsker kortest mulig fil (kompression). Eksempel:
22 Huffman-koder Kodning af sekvens af tegn (fil) via binære koder (for at gemme på disk, sende over netværk,... ). Ønsker kortest mulig fil (kompression). Eksempel: Fixed-length version: 3 ( ) = bits Variable-length version: = bits
23 Prefix-kode = træer Kodeord = sti i binært træ: 0 gå til venstre, 1 gå til højre Prefix(-fri) kode: ingen kode for et tegn er starten (prefix) af koden for et andet tegn ( dekodning utvetydig). Så tegn svarer til knuder med nul børn (blade).
24 Prefix-kode = træer Kodeord = sti i binært træ: 0 gå til venstre, 1 gå til højre Prefix(-fri) kode: ingen kode for et tegn er starten (prefix) af koden for et andet tegn ( dekodning utvetydig). Så tegn svarer til knuder med nul børn (blade). For en givet fil (tegn og deres frekvenser), find bedste variable-length prefix-kode. Dvs. for Cost(tree) = kodet fil, find træ med lavest cost.
25 Prefix-kode = træer Kodeord = sti i binært træ: 0 gå til venstre, 1 gå til højre Prefix(-fri) kode: ingen kode for et tegn er starten (prefix) af koden for et andet tegn ( dekodning utvetydig). Så tegn svarer til knuder med nul børn (blade). For en givet fil (tegn og deres frekvenser), find bedste variable-length prefix-kode. Dvs. for Cost(tree) = kodet fil, find træ med lavest cost. Optimale træer kan ikke have knuder med kun ét barn (alle tegn i undertræet for en sådan knude kan forkortes med en bit, jvf. (a) ovenfor). Så kun knuder med to eller nul børn findes.
26 Huffmans algoritme Byg op nedefra (fra mindste til største frekvenser) ved hele tiden at lave flg. grådige valg : slå de to deltræer med de to mindste samlede frekvenser sammen:
27 Køretid Givet en en tabel med n tegn og deres frekvenser laver Huffmans algoritme n 1 iterationer. (Der er n træer til start, ét træ til slut, og hver iteration mindsker antallet med præcis én.)
28 Køretid Givet en en tabel med n tegn og deres frekvenser laver Huffmans algoritme n 1 iterationer. (Der er n træer til start, ét træ til slut, og hver iteration mindsker antallet med præcis én.) Ved at bruge en (min-)prioritetskø, f.eks. implementeret ved en heap, kan hver iteration udføres med: to ExtractMin-operationer én Insert-operation O(1) andet arbejde.
29 Køretid Givet en en tabel med n tegn og deres frekvenser laver Huffmans algoritme n 1 iterationer. (Der er n træer til start, ét træ til slut, og hver iteration mindsker antallet med præcis én.) Ved at bruge en (min-)prioritetskø, f.eks. implementeret ved en heap, kan hver iteration udføres med: to ExtractMin-operationer én Insert-operation O(1) andet arbejde. Hver prioritetskø-operation tager hver O(log n) tid.
30 Køretid Givet en en tabel med n tegn og deres frekvenser laver Huffmans algoritme n 1 iterationer. (Der er n træer til start, ét træ til slut, og hver iteration mindsker antallet med præcis én.) Ved at bruge en (min-)prioritetskø, f.eks. implementeret ved en heap, kan hver iteration udføres med: to ExtractMin-operationer én Insert-operation O(1) andet arbejde. Hver prioritetskø-operation tager hver O(log n) tid. Så samlet køretid for de n iterationer er O(n log n).
31 Korrekthed Resumé: Huffmans algoritme vedligeholder en samling træer F. Vægten af et træ er summen af hyppigheden i dets blade. I hvert skridt slår Huffman to træer med mindste vægte sammen, indtil der kun er ét træ. Vi vil bevise følgende invariant: Træerne i F kan slås sammen til et optimalt træ. Når algoritmen stopper, indeholder F kun ét træ, som derfor ifølge invarianten må være et optimalt træ.
32 Korrekthed Vi vil bevise følgende invariant: Træerne i F kan slås sammen til et optimalt træ. Beviset er via induktion over antal skridt i algoritmen. Basis: Ingen skridt er taget. Da består F af n træer, som hvert kun er et blad. Disse er netop bladene i ethvert optimalt træ, så invarianten er oplagt opfyldt. Induktionsskridt: antag invarianten er opfyldt før et skridt i algoritmen, og lad os vise at den er opfyldt efter skridtet.
33 Korrekthed Lad træerne i F (før skridtet) være t 1, t 2, t 3,..., t k. hvor algoritmen slår t 1 og t 2 sammen. Dvs. at med hensyn til vægt gælder følgende for træerne: t 1 t 2 t 3 t k, Ifølge induktionsantagelsen kan træerne slås sammen til et optimalt træ. Lad T være toppen af dette træ dvs. et træ, hvis blade er rødderne i t 1, t 2, t 3,..., t k.
34 Korrekthed Hvis rødderne i t 1 og t 2 er søskende i T, er det klart at invarianten igen gælder efter næste skridt i Huffman. Da det samlede træ er det samme, er det stadigt et optimalt træ.
35 Korrekthed Hvis rødderne i t 1 og t 2 ikke er søskende i T, finder vi et andet top-træ T (dvs. en anden sammenlægning af træerne i F ) som også giver et optimalt træ, og hvor t 1 og t 2 er søskende: Se på et blad i T af størst dybde. Da k 2, har bladet en forælder. Denne forælder har mindst ét undertræ, altså har den to (i optimale træer har ingen knuder ét undertræ, som bemærket tidligere). Dens andet undertræ må være et blad, ellers er det første blad ikke et dybeste blad. Altså findes to blade i T som er søskende og begge er af størst dybde. Lad disse indeholde rødderne af t i og t j, med i < j.
36 Korrekthed Mulige situationer: Handling som giver T fra T : i j Ingen i j Byt t 2 og t j i j Byt t 1 og t j i, j Byt t 1 og t i, samt t 2 og t j
37 Korrekthed Mulige situationer: Handling som giver T fra T : i j Ingen i j Byt t 2 og t j i j Byt t 1 og t j i, j Byt t 1 og t i, samt t 2 og t j For et byt af t 1 og t i gælder, at eftersom t i s rod mindst har samme dybde som t 1 s rod, og den samlede frekvens af t i er mindst lige så stor som den samlede frekvens af t 1, vil der være flere tegn i filen, som kan få kortere kodeord, end der er tegn som kan få længere kodeord. Desuden er forandringerne i længde af kodeord den samme for både forlængelse og forkortelse (nemlig forskellen i dybde mellem t 1 og t i ).
38 Korrekthed Mulige situationer: Handling som giver T fra T : i j Ingen i j Byt t 2 og t j i j Byt t 1 og t j i, j Byt t 1 og t i, samt t 2 og t j For et byt af t 1 og t i gælder, at eftersom t i s rod mindst har samme dybde som t 1 s rod, og den samlede frekvens af t i er mindst lige så stor som den samlede frekvens af t 1, vil der være flere tegn i filen, som kan få kortere kodeord, end der er tegn som kan få længere kodeord. Desuden er forandringerne i længde af kodeord den samme for både forlængelse og forkortelse (nemlig forskellen i dybde mellem t 1 og t i ). Så den kodede fils længde stiger ikke ved byt af t 1 og t i, dvs. træet kan ikke blive dårlige ved byt af t 1 og t i.
39 Korrekthed Mulige situationer: Handling som giver T fra T : i j Ingen i j Byt t 2 og t j i j Byt t 1 og t j i, j Byt t 1 og t i, samt t 2 og t j For et byt af t 1 og t i gælder, at eftersom t i s rod mindst har samme dybde som t 1 s rod, og den samlede frekvens af t i er mindst lige så stor som den samlede frekvens af t 1, vil der være flere tegn i filen, som kan få kortere kodeord, end der er tegn som kan få længere kodeord. Desuden er forandringerne i længde af kodeord den samme for både forlængelse og forkortelse (nemlig forskellen i dybde mellem t 1 og t i ). Så den kodede fils længde stiger ikke ved byt af t 1 og t i, dvs. træet kan ikke blive dårlige ved byt af t 1 og t i. Tilsvarende kan vises for et byt af t 1 og t j, og for et byt af t 2 og t j.
40 Korrekthed Mulige situationer: Handling som giver T fra T : i j Ingen i j Byt t 2 og t j i j Byt t 1 og t j i, j Byt t 1 og t i, samt t 2 og t j For et byt af t 1 og t i gælder, at eftersom t i s rod mindst har samme dybde som t 1 s rod, og den samlede frekvens af t i er mindst lige så stor som den samlede frekvens af t 1, vil der være flere tegn i filen, som kan få kortere kodeord, end der er tegn som kan få længere kodeord. Desuden er forandringerne i længde af kodeord den samme for både forlængelse og forkortelse (nemlig forskellen i dybde mellem t 1 og t i ). Så den kodede fils længde stiger ikke ved byt af t 1 og t i, dvs. træet kan ikke blive dårlige ved byt af t 1 og t i. Tilsvarende kan vises for et byt af t 1 og t j, og for et byt af t 2 og t j. Da træet var optimalt før byt, er det også efter. Og t 1 og t 2 er nu søskende.
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 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 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 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 merePrioritetskøer og hobe. Philip Bille
Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af
Læs 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 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 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 mereMinimum udspændende Træer (MST)
Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen kreds af kanter. Træer
Læs 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 mereInvarianter. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen.
Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af)
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 mereDM507 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 merePrioritetskøer. Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering. Philip Bille
Prioritetskøer Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering Philip Bille Prioritetskøer Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer
Læs 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 merePrioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer
Philip Bille. Vedligehold en dynamisk mængde S af elementer. Hver element x er tilknyttet en nøgle x.key og satellitdata x.data. MAX(): returner element med største nøgle. EXTRACTMAX(): returner og fjern
Læs merePrioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer
Philip Bille (priority-queues). Vedligehold en dynamisk mængde S af elementer. Hver element x er tilknyttet en nøgle x.key og satellitdata x.data. MAX(): returner element med største nøgle. EXTRACTMAX():
Læs 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 mereDM507 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 mereSammenhængskomponenter i grafer
Sammenhængskomponenter i grafer Ækvivalensrelationer Repetition: En relation R på en mængde S er en delmængde af S S. Når (x, y) R siges x at stå i relation til y. Ofte skrives x y, og relationen selv
Læs 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 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 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 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 mereDM507 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 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 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 mereMindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Læs 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 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 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 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 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 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 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 mereSkriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se
Læs 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 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 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 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 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 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 mereMindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Læs mereMindste udspændende træ
Mindste udspændende træ Introduktion 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 mereAlgoritmer og invarianter
Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.
Læs 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 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 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 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 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 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 mereForén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.
Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening
Læs 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 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 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 mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således
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 mereForén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.
Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening
Læs mereDanmarks Tekniske Universitet
ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer
Læs mereDanmarks Tekniske Universitet
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 mereIntervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed
Algoritmisk geometri Intervalsøgning 1 2 Motivation for intervaltræer Intervalsøgning Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Vi kan
Læs mereAlgoritmisk geometri
Algoritmisk geometri 1 Intervalsøgning 2 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Antag, at vi ønsker at
Læs 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 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 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 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 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 mereDM507 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 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 mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereDanmarks Tekniske Universitet
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 mereMinimum udspændende Træer (MST)
Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen kreds af kanter. Træ
Læs 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 mereMinimum udspændende Træer (MST)
Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen lukket kreds af kanter
Læs 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 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 mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereDM507 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 mereAlgoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereDanmarks Tekniske Universitet
Eksamen 005, 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 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: Torsdag den 21. marts 2013,
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 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 mereSkriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet. Mandag den 22. marts 2004, kl
Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Mandag den. marts 00, kl..00 11.00 Navn Gerth Stølting Brodal Årskort 1 Dette eksamenssæt består af en kombination
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 2 n (log n) 2. 3 n /n 2 n + (log n) 4
Eksamen. kvarter 00 Side 1 af sider Opgave 1 ( %) Ja Nej n log n er O(n / )? n 1/ er O(log n)? n + n er O(n )? n( n + log n) er O(n / )? n er Ω(n )? Opgave ( %) Opskriv følgende funktioner efter stigende
Læs 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 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 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 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 mereDynamisk 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. 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 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 mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 7 n 1/ log n. (log n) 4
Eksamen august 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) n er O(n )? n(log n) er O(n )? n n + (log n) er O(n )? n er O(n )? n er Ω( n )? Opgave (%) Opskriv følgende funktioner
Læs mereMindste udspændende træ
Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Tirsdag den 20. marts 2012, kl.
Læs mere