MM4. Algoritmiske grundprincipper. Lister, stakke og køer. Hash-tabeller og Træer. Sortering. Søgning.
|
|
- Anita Larsen
- 8 år siden
- Visninger:
Transkript
1 MM Algoritmiske grundprincipper. Lister, stakke og køer. Hash-tabeller og Træer. Sortering. Søgning. MM MM MM MM MM
2 Sortering Sorteringsalgoritmer : Virkemåde og anvendelser Kompleksitet Algoritmen
3 Sorteringsalgoritmer Sortering af elementer i en bestemt orden. Anvendelser: Præsentation af data fx: direktorielisting, søgeresultat,.. Stavekontrol. Kartotekssystem. Bedre søgning. . Osv. 0 0
4 Sorteringsalgoritme- typer: Comperison sort: Insertion Sort. Quicksort. Merge Sort. Linear-time sort: Counting Sort. Radix Sort.
5 Insertion Sort. Algoritme: i= 0; while(i<size) { Tage det i te element. Placer det i te element på den rigtigt plads i den sorterede del. i++; 0
6 Insertion Sort. Algoritme: i= 0; while(i<size) { Tage det i te element. Placer det i te element på den rigtigt plads i den sorterede del. i++; 0
7 Insertion Sort. Algoritme: i= 0; while(i<size) { Tage det i te element. Placer det i te element på den rigtigt plads i den sorterede del. i++; 0
8 Insertion Sort. Algoritme: i= 0; while(i<size) { Tage det i te element. Placer det i te element på den rigtigt plads i den sorterede del. i++; Kompleksiteten: O(n*n) 0 0
9 Insertion Sort. In-space sort. Algoritme: i= ; while(i<size) { Tage det i te element; Placer det i te element på den rigtigt plads mellem de i første elementer. i++; 0
10 Insertion Sort. In-space sort. Algoritme: i= ; while(i<size) { Tage det i te element; Placer det i te element på den rigtigt plads mellem de i første elementer. i++; i= 0
11 Insertion Sort. In-space sort. Algoritme: i= ; while(i<size) { Tage det i te element; Placer det i te element på den rigtigt plads mellem de i første elementer. i++; i= 0
12 Insertion Sort. In-space sort. Algoritme: i= ; while(i<size) { Tage det i te element; Placer det i te element på den rigtigt plads mellem de i første elementer. i++; i= 0
13 Insertion Sort. In-space sort. Algoritme: i= ; while(i<size) { Tage det i te element; Placer det i te element på den rigtigt plads mellem de i første elementer. i++; i= 0
14 Insertion Sort. Fordel: Simpel. In-place sort. Incremental sort. Stabil: Hvis R og S har samme key og R kommer før S i den originale liste, så kommer R før S i den sorterede liste. Ulemper: Kompleksiteten: O(n*n)
15 Insertion Sort. int issort(void *data, int size, int esize) { char *a = data; void *key; int i,j; if ((key = (char *)malloc(esize)) == NULL) return -; for (j = ; j < size; j++) { memcpy(key, &a[j * esize], esize); i = j - ; while (i >= 0 && compare(&a[i * esize], key) > 0) { memcpy(&a[(i + ) * esize], &a[i * esize], esize); i--; memcpy(&a[(i + ) * esize], key, esize); free(key); return 0;
16 Quicksort. En divide-and-conquer algoritme Fremgangsmåde:. Del de enkelte data værdier i to omkring en udvalgt værdi.. Gør det samme for de to dele af data. Den udvalgt værdi udvælges tilfældigt, Evt med midian-of-three metoden. 0
17 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
18 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
19 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
20 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j 0 k
21 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) j i k 0
22 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) j i k 0
23 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) j i k 0
24 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) k j i 0
25 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
26 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
27 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
28 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); i j k udvalgt værdi: elm(j) 0
29 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); j i k udvalgt værdi: elm(j) 0
30 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); i j k udvalgt værdi: elm(j) 0
31 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
32 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); k i j udvalgt værdi: elm(j) 0
33 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); j i k udvalgt værdi: elm(j) 0
34 Quicksort. Så længe k > i { k Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); j i udvalgt værdi: elm(j) 0
35 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
36 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); k i j udvalgt værdi: elm(j) 0
37 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); k i j udvalgt værdi: elm(j) 0
38 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); k i j udvalgt værdi: elm(j) 0
39 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); k i j udvalgt værdi: elm(j) 0
40 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); i k j udvalgt værdi: elm(j) 0
41 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
42 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
43 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i j k 0
44 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) k i j 0
45 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) k i j 0
46 Quicksort. Så længe k > i { Find første elm(i) >= elm(j); Find første elm(k) <= elm(j); Opbyt (swap) elm(k) og elm(i); udvalgt værdi: elm(j) i k j 0
47 Quicksort. int qksort(int *data, int i, int k) { int j; if (i < k) { if ((j = partition(data, i, k)) < 0) return -; if (qksort(data, i, j) < 0) return -; if (qksort(data, j +, k) < 0) return -; return 0;
48 Quicksort. static int partition(int *data, int int i, int k) { int *a = data; int pval, temp; int j; j= (rand() % (k - i + )) + i; pval= a[j]; i--; k++; while () { do { k--; while (a[k] >= pval)); do { i++; while (a[i] <= pval)); if (i >= k) break; else { temp= a[i]; a[i]= &a[k]; a[k]= temp; return k;
49 Quicksort. Fordel: In-place sort. Kompleksiteten: typisk: O(n*log(n)) Ulemper: Ikke stabil.
50 Merge Sort. En divide-and-conquer algoritme, Ikke in-palce. Fremgangsmåde:. Del i to halvdele.. Gør det samme som her beskrevet for hver halvdel.. Saml de to halvdele i et sorteret datasæt. 0
51 Merge Sort
52 Merge Sort. int mgsort(void *data, int size, int esize, int i, int k) { int j; if (i < k) { j = (int)(((i + k - )) / ); if (mgsort(data, size, esize, i, j) < 0) return -; if (mgsort(data, size, esize, j +, k) < 0) return -; if (merge(data, esize, i, j, k) < 0) return -; return 0;
53 Merge Sort. Fordel: Simpel. Kan anvendes til delsortering. Kompleksiteten: O(n*log(n)) Stabil Ulemper: Kræver ekstra lager.
54 Counting Sort. Trin : Tæl hvor mange gange de enkelte tal indgår i datasættet. Data: Counters: 0 0 Temp:
55 Counting Sort. Trin : Lad tallene i Counters angive hvor mange tal der til og med det pågældende tal. Data: Counters: Temp:
56 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counts[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: Temp:
57 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counts[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: Temp:
58 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counts[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: Temp:
59 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counters[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: Temp:
60 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counts[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: Temp:
61 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counts[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: 0 0 Temp:
62 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counts[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: 0 0 Temp:
63 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counts[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: 0 0 Temp:
64 Counting Sort. Trin : for (j = size - ; j >= 0; j--) { temp[counts[data[j]]-] = data[j]; counters[data[j]] = counters[data[j]] - ; Data: Counters: Temp:
65 Counting Sort. Fordel: Simpel. Kan anvendes til delsortering. Komptiksiteten: O(n + K) hvor K= max(xn) +; Stabil. Ulemper: Kan kun sortere hel tal. Skal kende det største tal.
66 Radix Sort. Anvendt til flere cifret tal fx Radix-0 til tal i Ti-tals systemet. 0 Fremgangsmåde:. Sorter efter mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.... n. Sorter efter mest betydende ciffer.
67 Radix Sort. Anvendt til flere cifret tal fx Radix-0 til tal i Ti-tals systemet. 0 Fremgangsmåde:. Sorter efter mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.... n. Sorter efter mest betydende ciffer.
68 Radix Sort. Anvendt til flere cifret tal fx Radix-0 til tal i Ti-tals systemet. 0 Fremgangsmåde:. Sorter efter mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.... n. Sorter efter mest betydende ciffer.
69 Radix Sort. Anvendt til flere cifret tal fx Radix-0 til tal i Ti-tals systemet. 0 Fremgangsmåde:. Sorter efter mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.... n. Sorter efter mest betydende ciffer.
70 Radix Sort. Anvendt til flere cifret tal fx Radix-0 til tal i Ti-tals systemet. 0 Fremgangsmåde:. Sorter efter mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.... n. Sorter efter mest betydende ciffer.
71 Radix Sort. Anvendt til flere cifret tal fx Radix-0 til tal i Ti-tals systemet. 0 Fremgangsmåde:. Sorter efter mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.. Sorter efter. mindst betydende ciffer.... n. Sorter efter mest betydende ciffer.
72 Radix Sort. Anvendt til ord fx Radix-. sko bi elefant ordbog ø vin bil Konfirmation sodavand øl Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
73 Radix Sort. Anvendt til ord fx Radix-. sko bi elefant ordbog ø vin bil sodavand øl Konfirmation Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
74 Radix Sort. Anvendt til ord fx Radix-. sko bi elefant ordbog ø vin bil sodavand øl Konfirmation Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
75 Radix Sort. Anvendt til ord fx Radix-. sko bi elefant ordbog ø vin bil sodavand øl Konfirmation Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
76 Radix Sort. Anvendt til ord fx Radix-. sko bi elefant ordbog ø vin bil sodavand øl Konfirmation Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
77 Radix Sort. Anvendt til ord fx Radix-. sko bi elefant ordbog ø vin bil øl Konfirmation sodavand Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
78 Radix Sort. Anvendt til ord fx Radix-. sko bi ordbog ø vin bil øl Konfirmation sodavand elefant Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
79 Radix Sort. Anvendt til ord fx Radix-. sko bi ø vin bil øl sodavand ordbog elefant Konfirmation Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
80 Radix Sort. Anvendt til ord fx Radix-. sko bi ø vin bil øl elefant Konfirmation ordbog sodavand Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
81 Radix Sort. Anvendt til ord fx Radix-. sko bi ø vin bil øl sodavand ordbog elefant Konfirmation Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
82 Radix Sort. Anvendt til ord fx Radix-. bi ø øl sodavand ordbog elefant vin bil Konfirmation sko Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
83 Radix Sort. Anvendt til ord fx Radix-. ø bi vin bil sko øl elefant sodavand Konfirmation ordbog Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
84 Radix Sort. Anvendt til ord fx Radix-. bi bil elefant Konfirmation sko sodavand ordbog vin ø øl Fremgangsmåde:. Sorter efter mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.. Sorter efter. mindst betydende bogstav.... n. Sorter efter mest betydende bogstav.
85 Konklusion Quicksort: Effektiv og in-place algoritme Merge Sort: Effektiv kræver ekstra plads. Insertion Sort: Ineffektiv men kan anvendes som incremental sortering. Counting Sort: Effektiv kræver ekstra plads og kan kun anvendes til sortering af begrænsede hel tal. Radix Sort: Bygger på en stabil algoritme fx Counting Sort.
1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer
1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer på disse. Typer af lister: Array Enkelt linket liste Dobbelt linket Cirkulære lister Typer af køer: FILO FIFO
Læs mereMm7: A little bit more about sorting - and more times for exercises - November 4, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm: A little bit more about sorting - and more times for exercises - November 4, 2008 1 Algorithms and Architectures
Læs mereSkriftlig 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 mereSøgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning
Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]
Læs mereDATALOGI 0GB. Skriftlig eksamen tirsdag den 6. januar 2004
Københavns Universitet bacheloruddannelsen i datalogi side 1 af 6 DATALOGI 0GB Skriftlig eksamen tirsdag den 6. januar 2004 Dette opgavesæt består af 6 nummererede sider. Eksamensdeltagerne bør straks
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 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: 5n 4. logn. n 4n 5 n/logn. n n/logn 5n
Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) n er O(n 7 )? (logn) er O( n)? n(logn) er O(n)? n er O( n )? n er Ω(n )? Opgave (%) Opskriv følgende funktioner efter stigende orden med
Læs mereSøgning og Sortering. Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering. Philip Bille
Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering Philip Bille Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering
Læs mereLøsning af skyline-problemet
Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle
Læs mereDM02 opgaver ugeseddel 2
DM0 opgaver ugeseddel af Fiona Nielsen 16. september 003 Øvelsesopgaver 9/9, 10/9 og 11/9 1. Vis, at 1 3 + 3 3 + 5 3 +... + (n 1) 3 = n 4 n. Omskriver til summationsformel: (i 1) 3 = n 4 n Bevis ved induktion
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 mereOpgave 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 mereBRP Sortering og søgning. Hægtede lister
BRP 18.10.2006 Sortering og søgning. Hægtede lister 1. Opgaver 2. Selection sort (udvælgelsessortering) 3. Kompleksitetsanalyse 4. Merge sort (flettesortering) 5. Binær søgning 6. Hægtede lister 7. Øvelser:
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jens Myrup Pedersen (JMP) Mm4: Sorting algorithms - October 23, 2009
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jens Myrup Pedersen (JMP) Mm4: Sorting algorithms - October 3, 009 Algorithms and Architectures II. Introduction to analysis and design of
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 mereMajoritetsproblemet Problem Præcisering af inddata Præcisering af uddata
Majoritetsproblemet Problem: Til præsidentvalget i Frankrig har cirka 20 millioner vælgere afgivet deres stemme på et antal præsidentkandidater. Afgør om en af kandidaterne har opnået mere end halvdelen
Læs mereSortering ved fletning (merge-sort)
Sortering 1 Sortering ved fletning (merge-sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 2 Del-og-hersk Del-og-hersk er et generelt paradigme til algoritmedesign Del: opdel input-data S i to disjunkte
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 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 mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen (bemærk at log n betegner totals logaritmen): n 2 (log n) 2 2.
Eksamen august Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) n + n er O(n )? n / er O(n / )? n er O(n log n)? n er O((log n) )? n er Ω(n )? Ja Nej Opgave (%) Opskriv følgende funktioner
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 mereDM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11
DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4
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: Torsdag den 26. marts 2009, kl.
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 mereSøgning og Sortering. Philip Bille
Søgning og Sortering Philip Bille Plan Søgning Linæer søgning Binær søgning Sortering Indsættelsesortering Flettesortering Søgning Søgning 1 4 7 12 16 18 25 28 31 33 36 42 45 47 50 1 2 3 4 5 6 7 8 9 10
Læs 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 mereSortering. Sortering ved fletning (merge-sort) Del-og-hersk. Merge-sort
Sortering Sortering ved fletning (merge-sort) 7 2 9 4! 2 4 7 9 7 2! 2 7 9 4! 4 9 7! 7 2! 2 9! 9 4! 4 1 2 Del-og-hersk Merge-sort Del-og-hersk er et generelt paradigme til algoritmedesign Del: opdel input-data
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 mereOpskriv 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 mereMm6: More sorting algorithms: Heap sort and quick sort - October 29, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm6: More sorting algorithms: Heap sort and quick sort - October 9, 008 Algorithms and Architectures II. Introduction
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet
Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne
Læs mereIntroduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal
Philip Bille Algoritmer og datastrukturer Algoritmisk problem. Præcist defineret relation mellem input og output. Algoritme. Metode til at løse et algoritmisk problem. Beskrevet i diskrete og entydige
Læs mereIntroduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille
Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer
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 mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Martin Elsman Datalogisk Institut Københavns Universitet DIKU 10. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 10. Oktober, 2017 1 / 15
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 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 mereBRP 6.9.2006 Kursusintroduktion og Java-oversigt
BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 7 n 1/2 2 n /n 3 2logn n 2 /logn
Eksamen august 0 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) n er Ω(n)? n er O( n )? n er O(8logn)? + er O(n)? n er O(n / )? Opgave (%) Opskriv følgende funktioner efter stigende
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 (tolv) Eksamensdag: Fredag den 7. august 009, kl.
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: Torsdag den 11. august 2011,
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 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 mereForelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999
sammenligninger, hvor Programmering 1999 Forelæsning 17, tirsdag 2 november 1999 Søgning efter en given værdi i en tabel Lineær søgning og binær søgning Effektivitet: maskinuafhængig vurdering af køretid
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 mere17 Søgning og Søgetræer.
17 Søgning og Søgetræer. Lineær og inær søgning i lister. inære søgetræer. Søgning efter knude i træ. Indsættelse af knude i træ. Søgning i og sortering af inært søgetræ. Sletning af knude i inært søgetræ.
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 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 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 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 mereDATALOGISK 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 mere28 Algoritmedesign. Noter. PS1 -- Algoritmedesign
28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 Eksamensdag: Tirsdag den 7. juni 16, kl. 9.-11. Tilladte medbragte
Læs mere[ R E P O R T ] 정보통신공학전공 김성태
[ R E P O R T ] 정보통신공학전공 200301582 김성태 1. 삽입정렬 알고리즘설명 http://www.cse.iitk.ac.in/users/dsrkg/cs210/applets/sortingii/insertionsort/in sertionsort.html 개념삽입정렬은사람들이카드놀이를할때손에쥔카드를정렬하는것과방법이같다. 왼손에아무것도쥐지않고, 카드는탁자위에뒤집힌채쌓여있다고하자.
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: Fredag den 13. august 2010, kl.
Læs mere19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.
19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel
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 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 mereAlgoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode
Læs mereHashing og hashtabeller
Datastrukturer & Algoritmer, Datalogi C Forelæsning 16/11-2004 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt
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 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 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 mereDM507 - Algoritmer og datastrukturer
- Algoritmer og datastrukturer Køretid g(n) Udtryk Beskrivelse lim n f(n) o(f) Vokser langsommere end f = 0 O(f) Vokser højst så hurtigt som f < Θ(f) Vokser som f = c(c > 0) Ω(f) Vokser mindst så hurtigt
Læs mereKursus navn: Indledende programmering Kursus nr. 02101
Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning
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 mereDATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
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 mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm1: Introduction to analysis and design of algorithms - October 11, 2010
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm1: Introduction to analysis and design of algorithms - October 11, 2010 1 Algorithms and Architectures II 1. Introduction to analysis and
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 mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4
DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens
Læs mereIntroduktion. Philip Bille
Introduktion Philip Bille Plan Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer og datastrukturer Hvad er det? Algoritmisk problem: præcist defineret relation mellem
Læs mereMm1: Introduction to analysis and design of algorithms - October 7, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm1: Introduction to analysis and design of algorithms - October 7, 2008 Algorithms and Architectures II 1. Introduction
Læs mereParallelle algoritmer
Parallelle algoritmer Von Neumann s model John von Neumann 1903-57 Von Neumanns model: Instruktioner og data er lagret i samme lager, og én processor henter instruktioner fra lageret og udfører dem én
Læs mereDM507 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
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 mereFarvekodning. OZ5PZ Poul Rosenbeck
Farvekodning. OZ5PZ Poul Rosenbeck Farvekodning af komponenter opstod i 1960`erne. Komponenternes værdier var tidligere skrevet eller stemplet i klar tekst på selve komponenten. Begrebet cm eller uuf var
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
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: Onsdag den 31. marts 2010, kl.
Læs mereHanne Niels Edith Harald Carsten Jørgen Henrik.
Programmering 1999 Forelæsning 18, fredag 5 november 1999 Anvendelse af udvalgssortering Quicksort Rapportopgave Programmering 1999 KVL Side 18-1 Eksempel 2 på anvendelse af udvalgssortering Sortering
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 mereDansk Datalogi Dyst 2015 DDD Runde 2
. 19. februar, 2015 linetest DK v1.0 Line Test Sigurd er begyndt i gymnasiet og har lært om linjer på formen f(x) = ax + b. Han har prøvet at tegne nogle linjer på papir for at finde ud af hvilke koordinater
Læs mereLRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);
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 mereSelvstudium 1, Diskret matematik
Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet
Læs mereMålet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål
Læs mereAlgorithms & Architectures I 2. lektion
Algorithms & Architectures I 2. lektion Design-teknikker: Divide-and-conquer Rekursive algoritmer (Recurrences) Dynamisk programmering Greedy algorithms Backtracking Dagens lektion Case eksempel: Triple
Læs mereHamilton-veje og kredse:
Hamilton-veje og kredse: Definition: En sti x 1, x 2,...,x n i en simpel graf G = (V, E) kaldes en hamiltonvej hvis V = n og x i x j for 1 i < j n. En kreds x 1, x 2,...,x n, x 1 i G kaldes en hamiltonkreds
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
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 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 mereHashing. 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. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key fra et univers af nøgler U og satellitdata x.data. Ordbogsoperationer. SEARCH(k): afgør om element med nøgle
Læs mereArduino kursus lektion 3:
Arduino kursus lektion 3: I denne lektion skal vi lave få en diode til at fade op og ned! Herefter skal denne diode bruges sammen med en lysføler til at lave en smart lysfølsom diode som selv justere lyset
Læs mereVinderseminar 2007. Diskret matematik. Kirsten Rosenkilde. 1. Diskret matematik.
Vinderseminar 2007. Diskret matematik. Kirsten Rosenkilde. 1 1 Paritet Diskret matematik. I mange matematikopgaver er det en god ide at se på paritet dvs. hvornår en bestemt størrelse er henholdsvis lige
Læs mereAnvendelse af del og hersk princippet involverer altså problemopdelning og løsningskombination.
32. Rekursion Rekursive funktioner er uundværlige til bearbejdning af rekursive datastrukturer. Rekursive datastrukturer forekommer ofte - f.eks. både som lister og træer. Rekursiv problemløsning via del
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 mereParallelle algoritmer
Parallelle algoritmer 1 Von Neumann s model John von Neumann 1903-57 Von Neumanns model: Instruktioner og data er lagret i samme lager, og én processor henter instruktioner fra lageret og udfører dem én
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 mere