DM507 Algoritmer og datastrukturer
|
|
|
- Thea Strøm
- 9 år siden
- Visninger:
Transkript
1 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 at afleveringerne, og dermed arbejdet, strækkes over hele semesteret. Deadline for del III er fredag den 25. maj. Projektet skal som udgangspunkt besvares i grupper af størrelse to. Individuelle besvarelser er tilladt, men tilskyndes ikke. Adaptive sorteringsalgoritmer En sorteringsalgoritme kaldes adaptiv hvis den kører hurtigere, når inputfølgen er tæt på at væresorteret i forvejen. For at gøre dette begreb præcist, må man definere et mål for et inputs afstand fra at være sorteret. Antallet af inversioner (se del I af projektet for definitionen af inversioner) i input er et klassisk mål, med mange egenskaber som intuitivt virker fornuftige: en stigende (sorteret) følge har nul inversioner, en aftagende (omvendt sorteret) følge har det maksimale antal inversioner n(n 1)/2 = Θ(n 2 ), og hvis større elementer flyttes foran mindre elementer, stiger antallet af inversioner. I dette projekt lader vi INV betegne antallet af inversioner i input. I Cormen et al. opgave 2-4 (side 41) på Ugeseddel 3 har vi vist at køretiden for InsertionSort er Θ(n + INV). InsertionSort er altså adaptiv med hensyn til INV. Formålet med del III af projektet er at Udvikle en sorteringsalgoritme, FingerTreeSort, som er endnu mere adaptiv mth. INV end InsertionSort. Implementere FingerTreeSort. Sammenligne InsertionSort, FingerTreeSort samt MergeSort (der ikke er adaptiv) med hensyn til køretid i praksis på inputs med varierende INV-værdier. 1
2 InsertionSort er implementeret på Ugeseddel 2, FingerTreeSort implementeres her i del III af projektet, mens MergeSort er implementeret i del II af projektet. FingerTreeSort I ethvert binært søgetræ kan elementerne udskrives i O(n) tid via et inorder gennemløb (se øverst side 288 i Cormen et al.). Dvs. at man kan sortere ved at bygge et søgetræ og derefter udskriver elementerne. Dette tager O(n) tid plus tiden for at bygge træet. FingerTreeSort ligner InsertionSort ved at elementerne x 1,x 2,x 3,...,x n i input indsættes efter stigende j, nu blot i et balanceret søgetræ fremfor et array. Vi vil her anvende rød-sorte træer. En yderligere idé i FingerTreeSort er at vedligeholde en reference T.max til knuden med det største element i træet (dvs. den nederste knude på højrestien i træet), og foretage søgningen efter næste indsættelsespunkt derfra (i stedet for fra roden). Her betegner indsættelsespunktet det blad, som under indsættelsen bliver erstattet med en ny knude indeholdende x j. Mere præcist indsættes hvert nyt element x j (for j 2) ved en procedure beskrevet ved nedenstående pseudokode. Referencen T.max til knuden med det største element kaldes ofte en finger, heraf navnet FingerTreeSort. FingerInsert(T, x j ) opret ny knude z indeholdende x j if x j T.max.key indsættelsespunkt = højre barn af T.max T.max = z else v = T.max while x j < v.key AND v T.root v = v.parent søg på normal vis fra v efter indsættelsespunktet erstat bladet ved indsættelsespunktet med z rebalancer fra z Ovenstående pseudo-kode er en anelse mere højniveau end bogens. Detaljeniveauet kan øges med flg. bemærkninger: Koden udført ved en if-case kan implementeres ved y = T.max, T.max = z, efterfulgt af linierne 13 (uden else-keyword) og på side 315 i Cormen et al. Koden udført ved en else-case kan implementeres ved while-løkken ovenfor (inkl. initialisering 2
3 af v i linien før løkken), efterfulgt af x = v, samt linierne 3 8, 11 (med elseif erstattet af if), og på side 315 i Cormen et al. indsættelsespunkt T.max Figuren ovenfor illustrerer et eksempel på FingerInsert. Den røde linie illustrerer søgning, den blå linie rebalancering. Selve algoritmen FingerTreeSort fungerer således: Først oprettes et rød-sort træ med een knude indeholdendex 1, og T.max initialiseres til at være denne knude. Derefter indsættes x 2,x 3,...,x n alle med FingerInsert. Til sidst udskrives alle elementer med et inorder gennemløb af træet. Opgave 1 Argumenter for at træet overholder inorder efter en indsættelse. [Hint: argumenter først for at elementerne på højrestien står i faldende orden når man går opad langs den.] Lad s i være længden af den sti, som gennemløbes i søgeprocessen under indsættelsen af x i, som illustreret med den røde linie i figuren ovenfor. Dvs. s i er lig antal iterationer while-løkken i FingerInsert (søgning opad) plus længden af den sti som gennemløbes i linien søg på normal vis fra v efter indsættelsespunktet (søgning nedad). Man kan vise følgende (beviset vil blive givet ved en forelæsning): n s i = O(n+nlog(INV/n+1)). i=2 Opgave 2 Argumenter for, at FingerTreeSort kører i tid 3
4 O(n+nlog(INV/n+1)) [Hint: du skal opgøre det samlede arbejde for alle dele af algoritmen, herunder det samlede arbejde for de n indsættelser. Resultatet fra opgave 2 v) i del II af projektet vil skulle bruges under det sidstnævnte.] Man kan i øvrigt vise, at dette er bedst mulig adaptiveness til INV for sammenligningsbaseret (se Cormen et al., afsnit 8.1) sortering: en sammenligningsbaseret algoritme, der korrekt sorterer alle input af størrelse n som har et INV-tal på I eller derunder, må have en worst-case køretid (for disse input) som er Ω(n+nlog(I/n+1)). Opgave 3 Angiv den asymptotiske køretid for InsertionSort, FingerTreeSort og Merge- Sort for input af størrelse n, når antal inversioner INV i input er henholdsvis 0, n, n 1.5 og n 2 /4. Opgave 4 Implementer FingerTreeSort (som i meget høj grad kan baseres på kode fra Del II), og find din implementationer af InsertionSort og MergeSort fra henholdsvis Ugeseddel 2 og del I af projektet frem. Det er vigtigt at du under udviklingen tester om output er korrekt, dvs. efter en testkørsel løber output igennem og checker at det er sorteret (ved at checke at alle nabopar står i rigtig rækkefølge). Du skal i næste opgave måle køretid og sammenligne algoritmer, og det er meningsløst at sammenligne algoritmer, der ikke er korrekte (det er f.eks. trivielt at lave en meget hurtig algoritme, hvis den ikke behøver løse opgaven). Opgave 5 Du skal i denne opgave sammenligne køretiden for InsertionSort (adaptiv til INV-målet) implementeret på Ugeseddel 2, FingerTreeSort (teoretisk set optimalt adaptiv til INV-målet) implementeret her i del III, samt MergeSort (ikke adaptiv, da den laver essentielt samme mængde arbejde for alle input af samme størrelse) implementeret i Del I. 4
5 Du skal først vha. afprøvning finde en inputstørrelse n, hvor MergeSort tager ca. et sekund (den præcise tid er ikke vigtig). Dette n er fast for resten af opgaven. For dette n skal du køre alle dine tre algoritmer på input med varierende værdi af INV. På kursets hjemmeside findes en Java-metode generateinput, der som input tager n samt en parameter k, som skal ligge mellem 0 og n. Metoden leverer så et tilfældigt output med INV liggende i nærheden af nk. Lav for hver af de tre algoritmer et program, som for hver af værdierne k = 1,2,4,8,...,2 i,...,n gør flg.: Kalder generateinput for at få genereret et input (et array A af int s). Kører din O(nlogn) metode fra FastInv.java fra Del I af projektet på en kopi af A (da algoritmen jo sorterer undervejs, skal den arbejde på en kopi for ikke at ændre indholdet af A), for at tælle den præcise værdi af INV i A. Sorterer A med den pågældende sorteringsalgoritme, og måler køretiden ved at indsættte to kald til metoden System.currentTimeMillis() fra Javas bibliotek, eet lige før sorteringen går i gang, og eet lige bagefter (slå funktionaliteten af metoden op i Javas online dokumentation, husk også at du har brugt den på Ugeseddel 2), hvorudfra køretiden for selve sorteringen (og kun den, dvs. uden generering af input, optælling af INV, check af output) beregnes. Udskriver INV og køretid. Det kan være nødvendigt at undlade de største værdier af k for algoritmen InsertionSort, da disse vil tage for lang tid. Stop f.eks. når tiden passerer ca. 30 sekunder. I rapporten skal du inkludere en graf, som for alle tre algoritmer i samme koordinatsystem plotter log(inv/n) (hvor INV er den målte værdi) på førsteaksen og målt køretid på andenaksen. Du skal kommentere på resultatet (Hvad kan man se? Hvilken algoritme vil du foretrække hvornår?). Det er i øvrigt værd at bemærke at InsertionSort og FingerTreeSort ikke skal kende INV-tallet for at opnå den analyserede køretid. Vi bruger kun algoritmen fra FastInv.java fordi vi selv gerne vil kende INV-tallet for input for at kunne lave grafen. 5
6 Formalia Lav en rapport, som indeholder dine svar på opgaverne ovenfor. For spørgsmål med implementation skal koden 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 pdf-format, samt Java-implementationen som separate filer (dvs. udover deres inklusion på tryk i rapporten). Der er ingen krav til navngivning af koden her i del III. 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: Fredag den 25. maj, 2012, kl. 23:59. 6
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
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
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
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
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
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
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
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
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
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
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
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
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
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
Divide-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
Divide-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
Divide-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
Divide-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
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.)
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
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
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
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:
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.)
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
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:
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
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
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.
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.
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
Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning
Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]
Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)
Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse
1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer
1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer på disse. Typer af lister: Array Enkelt linket liste Dobbelt linket Cirkulære lister Typer af køer: FILO FIFO
Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox
Martin Olsen DM0 Projekt 0 Del I. marts 0 FOTO: Colourbox Indhold Indledning... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Kildekode til SimpleInv.java... Kildekode til MergeSort.java...
Algoritmer 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.
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Introduktion til kurset Rolf Fagerberg Forår 2019 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, Institut for Matematik og Datalogi (IMADA) Forskningsområde: algoritmer
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
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
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
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
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):
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 =
Søgning og Sortering. Philip Bille
Søgning og Sortering Philip Bille Plan Søgning Linæer søgning Binær søgning Sortering Indsættelsesortering Flettesortering Søgning Søgning 1 4 7 12 16 18 25 28 31 33 36 42 45 47 50 1 2 3 4 5 6 7 8 9 10
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
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. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).
Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)
Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538) Institut for Matematik og Datalogi Syddansk Universitet, Odense Fredag den 25. januar 2013 kl. 1013 Alle hjælpemidler (computer, lærebøger, notater,
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.......................................
