DM507 Algoritmer og datastrukturer

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Starte visningen fra side:

Download "DM507 Algoritmer og datastrukturer"

Transkript

1 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 at afleveringerne, og dermed arbejdet, strækkes over hele semesteret. Deadline for del II er onsdag den 25. april. Projektet skal som udgangspunkt besvares i grupper af størr to. Individuelle besvarr er tilladt, men tilskyndes ikke. Mål Målet for del II af projektet er at implementere rød-sorte træer, samt bevise en øvre grænse for mængden af rebalancering. Med hensyn til updates skal der kun ses på indsættr, ikke sletninger. Rød-sorte træer Rød-sorte træer er grundigt beskrevet i Cormen et al., kapitel 13. Bemærk at pseudo-koden i dette kapitel er baseret på en implementation med en sentinel-knude T.nil til at repræsentere træets NIL-pointere (bladene samt rodens forælder), som illustreret i Figur 13.1 (b) på side 310. Denne knude er altid sort. Vi antager også denne implementation her. Opgaver Opgave 1 Der skal laves en Java-implementation, baseret på bogens pseudo-kode, af rød-sorte træer, som indeholder metoderne Search (pseudo-kode side 290 eller 291, skal justeres til at bruge T.nil i stedet for NIL), Insert (pseudokode side 315 (og siderne 316 og 313)), samt InorderTraversal (pseudo- 1

2 kode side 288, skal justeres til at bruge T.nil i stedet for NIL)). Der skal ikke implementeres Delete eller yderligere metoder. Det antages at nøgler er af typen int (så man ikke behøver bruge f.eks. generics i Java), og at elementer blot består af nøgler (der er ikke yderligere data tilknyttet en nøgle). Dette vil være tilstrækkeligt for den senere anvend i del III. Implementationen skal være i form af en Java-klasse, som kan bruges af andre programmer. Klassen skal hedde RBT, og skal implementere flg. interface: public interface RBTree { public boolean search(int k); public void insert(int k); public int[] inordertraversal(); public boolean isredblack(); } Metoden search(k) returnerer blot en boolean som angiver om nøglen k er i træet. Metoden insert(k) indsætter nøglen k i træet. Metoden inordertraversal() returnerer en kopi af træets elementer i et array (i sorteret orden) fremfor at printe dem på skærmen som i bogens pseudokode. Metoden isredblack() checker om et givet RBTree overholder (de vigtigste af) kravene 1 5 på side 308. Denne metode er bla. anvendelig til fejlfinding under implementationsprocessen. Metoden skal baseres på algoritmen beskrevet i pseudo-kode i appendikset nedenfor. Man skal ikke bevise noget om korrekthed eller køretid for denne algoritme. Opgave 2 En indsætt består af en søgning og indsætt af ny knude (linie 1 16 i pseudo-kode side 315), samt en efterfølgende rebalancering af træet (pseudokoden side 316). Vi ønsker i denne opgave at bevise, at hvis man starter med et tomt rød-sort træ og laver n indsættr, da er den samlede mængde rebalanceringsarbejde (dvs. arbejde lavet af pseudo-koden side 316 (og 313)) i alt O(n). Denne viden vil vise sig brugbar i del III af projektet. Bemærk at ovenstående øvre grænse er stærkere end den simple vurdering at n indsættr hver højst kan lave rebalanceringsarbejde svarende til stien mod roden, hvilket blot giver en øvre grænse på O(n log n). For et rød-sort træ T lader vi ψ(t ) være antallet af knuder i træet som er sorte og har to røde børn. For eksempel er ψ(t ) = 1 for træet i Figur 13.1 i Cormen et al. (side 310). Vi skal se på hvordan ψ(t ) udvikler sig, når T ændrer form under indsættr og efterfølgende rebalanceringer. 2

3 Som det fremgår af diskussionen i afsnit 13.3 af Cormen et al. vil whileløkken i pseudo-koden side 316 løbe nul eller flere gange gennem Case 1, og derefter højst een gang gennem Case 2 og højst een gang gennem Case 3, hvorefter den stopper. Bemærk følgende observationer: Selve indsættn (at erstatte et tomt undertræ med en ny knude, uden rebalancering) kan højst øge ψ(t ) med een. Under rebalancering vil Case 2 ikke ændre ψ(t ) (følger af Figur 13.6 og den tilhørende figurtekst). Under rebalancering kan Case 3 højst øge ψ(t ) med een (følger af Figur 13.6 og den tilhørende figurtekst). Opgaven består af nedenstående delopgaver i) til v). i) Argumentér for at hvis en rebalancering starter med k gange Case 1, da vil disse sænke ψ(t ) med mindst k 1 (brug Figur 13.5 og den tilhørende figurtekst). Vi ser nu på situationen hvor man starter med et rød-sort træ T start og laver n indsættr, resulterende i et træ T slut, og ønsker at vurderere den samlede mængde rebalanceringsarbejde. Lad k i betegne det antal gange Case 1 udføres ved rebalancering efter den i te indsætt. ii) Argumentér for at der højst n gange i alt udføres Case 3. iii) Argumentér for at ψ(t slut ) ψ(t start ) + 2n n (k i 1) i=1 ved at bruge ovenstående observationer og udsagn. Vi ser nu på situationen hvor de n indsættr starter med et tomt træ. Så gælder naturligvis ψ(t start ) = 0. For alle træer T er 0 ψ(t ), så vi har 0 ψ(t slut ). Heraf følger fra sidste ulighed ovenfor at n 0 2n (k i 1). i=1 iv) Argumentér for at det heraf følger at n i=1 k i 3n. v) Argumentér for at den samlede mængde rebalanceringsarbejde under de n indsættr er O(n), hvis man starter med et tomt træ. 3

4 Formalia Lav en rapport, som indeholder dine svar på opgave 1 og 2 ovenfor. Koden for opgave 1 skal være passende kommenteret, skal inkluderes i rapporten som bilag, og eventuelle ikke-trivielle aspekter af implementeringen skal diskuteres i rapportens hoveddel. Der skal afleveres rapporten i pdfformat, samt Java-implementationen som separate filer (dvs. udover deres inklusion på tryk i rapporten). Husk at skrive navnene på personerne i gruppen på forsiden af rapporten. Materialet afleveres i Blackboard med værktøjet SDU Assignment (ikke at forveksle med Assignment hand in, som er et andet afleveringsværktøj i Blackboard). Det kan findes under Tools i menuen i kursussiden i Blackboard. Menuen findes ved at klikke på det lille dobbelt-firkant -ikon i øverste halvdel af venstre kant af kursussiden i Blackboard (om nødvendigt maksimer det fremkomne vindue). Aflever materialet senest: Onsdag den 25. april, 2012, kl. 23:59. 4

5 Appendiks Algoritmen IsRedBlack(T ) nedenfor returnerer true hvis og kun hvis T opfylder kravene 2, 4, og 5 på side 308 i Cormen et al. (det antages at krav 1 er opfyldt, dvs. at der kun bruges farverne sort og rød, og krav 3 bliver automatisk opfyldt via brugen af en sentinel-knude med farven sort). Man skal ikke bevise noget om korrekthed eller køretid for denne algoritme. IsRedBlack(T ) return {T.root.color == black and BlackHeight(T, T.root) 0 and (not TwoRedsInRow(T, T.root))} BlackHeight(T, v) if v == T.nil return 0 h 1 = BlackHeight(T, v.left) h 2 = BlackHeight(T, v.right) if h 1 h 2 or h 1 == 1 return 1 if v.color == black return h return h 1 TwoRedsInRow(T, v) if v == T.nil return false if {v.color == red and (v.left.color == red or v.right.color == red)} return true return TwoRedsInRow(T, v.left) or TwoRedsInRow(T, v.right) 5

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2015 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 3. marts, 2015 Dette projekt udleveres i to 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 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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 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 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 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

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

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

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

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

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. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Danmarks Tekniske Universitet

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

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

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

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

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

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

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

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 036, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 036. Varighed: timer Tilladte hjælpemidler: lle 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

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

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

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

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

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 1. april 200, kl..00-11.00

Læs mere

Skriftlig Eksamen Diskret Matematik (DM528)

Skriftlig Eksamen Diskret Matematik (DM528) Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Algoritmer og Datastrukturer 1 (003-ordning) Antal sider i opgavesættet (incl. forsiden): 10 (ti)

Læs mere

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer

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 Onsdag den. august 200, kl. 9.00.00 Opgave (25%) Lad A = A[] A[n] være et array af heltal. Længden af det længste

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DTLOS NSTTUT, RUS UNVERSTET Det Naturvidenskabelige akultet ESMEN rundkurser i Datalogi ntal sider i opgavesættet (incl. forsiden): 7 (syv) Eksamensdag: Torsdag den 14. juni 007, kl. 9.00-1.00 Eksamenslokale:

Læs 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

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

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

Førsteårsprojekt F2008 Flere grafalgoritmer, og visualisering SØGES

Førsteårsprojekt F2008 Flere grafalgoritmer, og visualisering SØGES Førsteårsprojekt F2008 Flere grafalgoritmer, og visualisering Peter Sestoft 2008-03-11* SØGES 1-2 studerende til Åbent Hus torsdag 10. april kl 1700-1800 Skal kunne fortælle 5-10 minutter om hvad hvordan

Læs mere

Grafer og graf-gennemløb

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

Grafer og graf-gennemløb

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, F side af sider anmarks Tekniske Universitet Skriftlig prøve, den 9. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe

Læs 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

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

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Institut for Matematik & Datalogi Syddansk Universitet Fredag den 9 Januar 2015, kl. 10 14 Alle sædvanlige hjælpemidler(lærebøger, notater etc.) samt

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave

Læs mere

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt

Læs mere

Grafer og graf-gennemløb

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

Opskriv 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

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

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software

Læs mere

18 Multivejstræer og B-træer.

18 Multivejstræer og B-træer. 18 Multivejstræer og B-træer. Multivejs søgetræer. Søgning i multivejssøgetræer. Pragmatisk lagring af data i multivejstræer. B-træer. Indsættelse i B-træer. Eksempel på indsættelse i B-træ. Facts om B-træer.

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

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

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt

Læs mere

BAAN IVc. Brugervejledning til BAAN Data Navigator

BAAN IVc. Brugervejledning til BAAN Data Navigator BAAN IVc Brugervejledning til BAAN Data Navigator En udgivelse af: Baan Development B.V. P.O.Box 143 3770 AC Barneveld Holland Trykt i Holland Baan Development B.V. 1997. Alle rettigheder forbeholdes.

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DTOI, RUS UNIVERSITET Science and Technology ESEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. juni 0, kl. 9.00-.00

Læs 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

Rolf Fagerberg. Forår 2013

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

Læs mere

Datastrukturer. Datastruktur = data + operationer herpå

Datastrukturer. Datastruktur = data + operationer herpå Prioritetskøer Prioritetskøer? Datastrukturer Datastruktur = data + operationer herpå Datastrukturer Data: Datastruktur = data + operationer herpå Ofte en ID + associeret data. ID kaldes også en nøgle

Læs mere

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter Planfejning 1 Skæring 2 Geometrisk skæring Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter Løsningsmetoder: Rå kraft Planfejning (eng. plane sweep)

Læs mere

Introduktion. I denne vejledning 1 finder du nogle af de muligheder, Elevintra har. Flere følger senere. Login

Introduktion. I denne vejledning 1 finder du nogle af de muligheder, Elevintra har. Flere følger senere. Login Introduktion Elevintra er et samarbejdsværktøj for skolens elever og lærere. Det er web-baseret, hvilket betyder at du kan logge dig på hvilken som helst pc, bare der er Internet-adgang. I denne vejledning

Læs mere

Gem dine dokumenter i BON s Content Management System (CMS)

Gem dine dokumenter i BON s Content Management System (CMS) 24. august 2007 Gem dine dokumenter i BON s Content Management System (CMS) INDHOLDSFORTEGNELSE 1. Indledning... 2 2. Se indholdet i dit Content Management System... 3 3. Tilgå dokumenterne i My Content

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

Løsning af møntproblemet

Løsning af møntproblemet Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet

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

Indhold 1 Om Skolekvalitet.dk...3. 2 Vælg evalueringsmodel før du går i gang...3. 3 Overblik over siderne... 5

Indhold 1 Om Skolekvalitet.dk...3. 2 Vælg evalueringsmodel før du går i gang...3. 3 Overblik over siderne... 5 Skolekvalitet.dk Manual Version 1.0 Indhold 1 Om Skolekvalitet.dk...3 2 Vælg evalueringsmodel før du går i gang...3 3 Overblik over siderne... 5 3.1 Oversigt over centrale funktioner:... 6 4 Kom godt i

Læs mere

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software Engineering BA i Matematik-Økonomi BA i Anvendt Matematik BA

Læs mere

Brugermanual til Assignment hand in

Brugermanual til Assignment hand in Brugermanual til Assignment hand in Indhold: Undervisere:...2 Hvor finder jeg Assignment hand in?...2 Opret en opgave...4 Slet en opgave...5 Rediger en opgave...5 Hvor finder jeg de afleverede filer?...5

Læs mere

Datastrukturer. Datastruktur = data + operationer herpå

Datastrukturer. Datastruktur = data + operationer herpå Prioritetskøer Prioritetskøer? Datastrukturer Datastruktur = data + operationer herpå Datastrukturer Data: Datastruktur = data + operationer herpå Ofte en ID + associeret data. ID kaldes også en nøgle

Læs mere

Introduktion til datastrukturer

Introduktion til datastrukturer Introduktion til datastrukturer Datastrukturer Stakke og køer Hægtede lister Dynamiske tabeller Philip Bille Introduktion til datastrukturer Datastrukturer Stakke og køer Hægtede lister Dynamiske tabeller

Læs mere

Hashing. Hashing. Ordbøger. Ordbøger. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Ordbøger Hægtet hashing Hashfunktioner Lineær probering

Hashing. Hashing. Ordbøger. Ordbøger. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Ordbøger Hægtet hashing Hashfunktioner Lineær probering Philip Bille Ordbøger. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[x] fra et univers af nøgler U og satellitdata data[x]. Ordbogsoperationer. SEARCH(k): afgør om element

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

Hashing. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Philip Bille

Hashing. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Philip Bille Hashing Ordbøger Hægtet hashing Hashfunktioner Lineær probering Philip Bille Hashing Ordbøger Hægtet hashing Hashfunktioner Lineær probering Ordbøger Ordbøger. Vedligehold en dynamisk mængde S af elementer.

Læs mere

Minimum udspændende Træer (MST)

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 25. juni 200, kl. 9.00-.00

Læs mere

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Algoritmer på træer og trægennemløb.

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Algoritmer på træer og trægennemløb. Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Algoritmer på træer og trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse

Læs mere

MANUAL - Joomla! Version 1

MANUAL - Joomla! Version 1 MANUAL - Joomla! Version 1 Indhold Retningslinjer for hjemmesiden... 3 Log ind... 3 Ret i en artikel, der allerede er oprettet... 4 Opret ny artikel... 8 a) Skriv direkte i tekstfelt... 9 b) Indsæt tekst

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere