Rekursion C#-version
|
|
|
- Andreas Holm
- 10 år siden
- Visninger:
Transkript
1 Note til Programmeringsteknologi Akademiuddannn i Informationsteknologi Rekursion C#-version Finn Nordbjerg 1
2 Rekursion Rekursionsbegrebet bygger på, at man beskriver noget ved "sig selv". Fx. kan tallet n! ("n-fakultet") defineres ved følgende formel: n! = 1 for n = 0; n! = n*(n-1)*(n-2)*...*2*1 for n 1 altså produktet af alle hele tal fra n og ned til 1. Tallet n! kan imidlertid også defineres på en anden måde, som er baseret på det forhold, at der gælder (1) n! = 1 for n = 0 (2) n! = n*(n-1)! for n > 1 En sådan definition kaldes rekursiv og er karakteriseret ved, at begrebet selv anvendes i definitionen. (1) kaldes definitionens basisdel og (2) dens rekursionsdel. Denne definition kan implementeres direkte ved følgende metode: public long FakRek( int n) {//PRE n>=0 if(n == 0) return 1; //basisdel return n*fakrek(n-1); //rekursionsdel I programmering anvendes betegnn rekursiv om metoder, som kalder sig selv. Ved rekursion forstås altså, at en problemløsningsmetode beskrives ved en basisdel, og at et givet skridt defineres udfra resultatet af et eller flere af de foregående skridt. Bemærk, at der skal altid være en basisdel og rekursionsdelen skal formuleres, så basisdelen altid nås til sidst. Ellers har man lavet sig en ikke-terminerende algoritme. Øv 1 Lav en ikke-rekursiv (dvs. iterativ) metode til beregning af n!. Øv 2 Lav et testprogram, som afprøver de to løsninger. Som for fakultetsberegning kan rekursive algoritmer altid omformes til en iterativ (overvej!!!), men for en lang række problemer er iterative løsninger meget mere komplekse og uoverskuelige. 2
3 Prisen for at anvende rekursive metoder (man får jo intet gratis) er et ekstra lagerforbrug, idet hver aktivering af metoden kræver lagring af data (parametre, lokale variable mv.). Disse data skal gemmes til kaldet af sluttes. For fakultetsberegnings vedkommende betyder dette, at der ved beregning af fx 10! skal gemmes oplysninger om 10 aktiveringer af metoden, inden kaldene begynder at returnere. Dette gøres automatisk på den såkaldte rekursionsstak, men lageret optages altså. I det følgende skal et par klassiske eksempler på rekursive løsninger kort beskrives. Tårnene i Hanoi Dette er et eksempel, hvor det er langt lettere at udlede en rekursiv algoritme end en iterativ. I følge sagnet har munkene i en buddhistorden i Hanoi længe været optaget af følgende opgave: Der er tre stænger og 64 skiver af forskellig størr. Hver skive har et hul i midten, så den kan placeres på en af stængerne. I starten var alle 64 skiver placeret på een stang. Skiverne er sorteret efter størr og største skive ligger nederst. Se figur: Kilde Hjælp Mål Opgaven går ud på at flytte tårnet fra denne stang (kilden) til en anden stang (målet). Den tredje stang (hjælp) kan undervejs anvendes til midlertidig opbevaring af skiver. For at gøre opgaven interessant (den siges at være lutrende for sjælen), skal følgende regler overholdes: - der må kun flyttes een skive ad gangen - en større skive må aldrig lægge ovenpå en mindre (For at imødegå dumsmarte løsninger skal det pointeres, at skiverne selvfølgeligt kun må placeres på en af de tre stænger ikke på jorden ved siden af!). Sagnet fortæller endvidere at fuldførn af opgaven vil indvarsle Verdens undergang. Løsningen af denne opgave er ikke indlysende, men lad se: For at flytte tårnet må den nederste skive (den største) flyttes fra kilden til målet. Dette kan ikke lade sig gøre før de 63 skiver, som ligger ovenpå, er flyttet til hjælpestangen, men så er det simpelt. Derefter må de 63 skiver flyttes fra hjælpestangen til målet. Men hvordan skal vi flytte de 63 skiver fra kilden til hjælpestangen? Dette kan gøres ved at flytte 62 skiver fra kilden til målet, derefter flytte den sidste skive til hjælpestangen, og til sidst flytte de 62 skiver tilbage igen. 3
4 Men hvordan flytter vi 62 skiver? Ved at flytte de 61 øverste. Dette er en rekursiv strategi, hvor vi opdeler vores problem i stadig mindre problemer (at flytte 63 skiver er et mindre problem end at flytte 64 etc.) indtil vi når basisdelen: at flytte én skive. Vi kan altså formulere følgende løsning: - flyt 63 skiver fra kilde til hjælpstang (målet kan bruges som arbejdsplads) - flyt een skive fra kilde til mål - flyt 63 skiver fra hjælpestang til mål (kilden kan bruges som arbejdsplads) På tilsvarende måde kan 63 skiver flyttes ved at flytte 62 skiver og derefter flytte een og så flytte 62 igen etc. etc. Generelt kan løsningen formuleres ved følgende rekursive metode (n er antal skiver i tårnet): public void FlytTaarn(int n,string kilde, string maal, string hjlp) { if (n==1) Console.WriteLine( Flyt skive fra +kilde+ til +maal); { FlytTaarn(n-1,kilde,hjlp,maal); Console.WriteLine( Flyt skive fra +kilde+ til +maal); FlytTaarn(n-1, hjlp, maal, kilde); Til berolig for evt. læsere, der bekymrer sig for Verdens snarlige undergang, kan følgende anføres: Udfør med n=64 resulterer i to kald med n=63, der igen hver resulterer i to kald med n=62 etc. I alt kald. I hvert kald flyttes een skive. Dvs., at hvis munkene kan flytte een skive i sekundet, aldrig laver fejl og arbejder døgnet rundt året rundt, så vil det tage ca år at flytte tårnet (det kan vises, at der ikke findes nogen hurtigere algoritme), og til den tid skal Verden såmænd nok være gået under alligevel. Det skal understreges, at dette er en meget koncis og elegant løsning på et ikke-trivielt problem. Der findes iterative løsninger, men de er komplekse og vanskelige at udlede (prøv!). Øv 3 Lav et testprogram, som afprøver ovenstående. (Lad være med at teste med 64 skiver!) Binær søgning Binær søgning er et eksempel på en meget elegant løsning på et problem. Normalt udledes algoritmen for binær søgning fra søgeskabelonen (se note om algoritmeskabeloner), men løsningen kan også formuleres rekursivt, hvilket giver en enklere og elegantere, men ikke helt så effektiv løsning. 4
5 Følgende metode undersøger om et givet element, x, findes i et sorteret array, T. Elementtypen er blot int: public bool BinSearch(int l, int h, int x, int[] T) {//PRE T er sorteret int m; if(l>h) return false; { m = (l+h)/2; if(x==t[m]) return true; if(x>t[m]) return BinSearch(m+1,h,x,T); return BinSearch(l,m-1,x,T); Prøv at ændre metoden, så den returnerer indekset på det søgte element. Øv 4 Lav en ikke-rekursiv formulering af BinSearch. Øv 5 Lav et test program, som afprøver de to udgaver af BinSearch. Øv 6 Ved Fibonacci-tallene forstås en følge af hele positive tal, hvor et givet Fibonaccital findes som summen af de to foregående. Rekursiv definition: Udarbejd (1) Fib(n) = n for n= 0 og n= 1 (2) Fib(n) = Fib(n-1) + Fib(n-2) for n>1 a) en rekursiv funktion til beregning af et givet Fibonaccital, og b) en iterativ funktion til beregning af et givet Fibonaccital. 5
6 Øv 7 Lav et testprogram, som afprøver de to udgaver af Fib(-). Kan du registrere forskel I deres effektivitet? (Lad vær at teste den rekursive udgave med store tal (dvs. ikke meget over 40). 6
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.
Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte
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
28 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
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
Abstrakte 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
Rekursion og dynamisk programmering
Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.
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
Dynamisk 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
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
Dynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde
Induktive og rekursive definitioner
Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal
Procedurer og funktioner - iteration og rekursion
Procedurer og funktioner - iteration og rekursion Procedurer De første procedurer vi så på var knyttet til handlinger, der skulle udføres, fx at klikke på en knap for at lukke en form eller afslutte et
Kursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
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
14 Algoritmeanalyse. Noter. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. Køretid for forskellige kontrolstrukturer.
14 Algoritmeanalyse. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. O og Ω. Køretid for forskellige kontrolstrukturer. Eksempler på algoritmeanalyse. Eksponentiel og polynomiel
DRONNINGER (QUEENS) Opgave 1
DRONNINGER (QUEENS) I denne opgave vil vi beskæftige os med det såkaldte 8-dronningeproblem, hvor man skal placerede 8 dronninger på et 8 x 8 skakbræt, således at ingen af dronningerne kan slå hinanden.
Programmering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Rekursion Towers of Hanoi og Liniegrafik Martin Elsman Datalogisk Institut Københavns Universitet DIKU 13. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning,
Anvendelse 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
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
Mandags Chancen. En optimal spilstrategi. Erik Vestergaard
Mandags Chancen En optimal spilstrategi Erik Vestergaard Spilleregler denne note skal vi studere en optimal spilstrategi i det spil, som i fjernsynet går under navnet Mandags Chancen. Spillets regler er
Talrækker. Aktivitet Emne Klassetrin Side
VisiRegn ideer 3 Talrækker Inge B. Larsen [email protected] INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Vejledning til Talrækker 2-4 Elevaktiviteter til Talrækker 3.1 Talrækker (1) M-Æ 5-9 3.2 Hanoi-spillet
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
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]
Anvendelse af metoder - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til [email protected]. Besvarelsen skal
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
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
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
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
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
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
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.
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.)
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
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
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 Flettesortering Philip Bille Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering
Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
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
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...
BRP 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:
3 Algebraisk Specifikation af Abstrakte Datatyper.
3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.
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
Programmering for begyndere Lektion 2. Opsamling mm
Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger
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
Kursusarbejde 2 Grundlæggende Programmering
Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................
Projekt - Visual Basic for Applications N på stribe
Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,
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
Introduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
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
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.
Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
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
DM502. Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/
DM502 Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!
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:
Videregående Programmering for Diplom-E Noter
Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså
[arbejdsgiver] sådan gør du... [søg i CV er]
[arbejdsgiver] sådan gør du... [søg i CV er] Søg i CV'er Gå til Jobnet.dk og log ind, klik i den sorte topmenu på Søg i CV er Du har nu to muligheder: 1. Du kan oprette en ny søgning OBS: Vær opmærksom
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.
Programmering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Typer og Mønstergenkendelse Martin Elsman Datalogisk Institut Københavns Universitet DIKU 23. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017
Grundlæggende køretidsanalyse af algoritmer
Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers
Hvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Kædebrøker. b 0 f.eks. 3 b 0 + a 1. f.eks. 3 + 1 b 1 7. a 1. b 1 + a f.eks. 3 + 1 7 + 1. f.eks. 3 + b 1 + a 2 7 + Notation: a 2 b 2 + an.
Kædebrøker Naturvidenskabsfestivalen 2006 foredrag på Herning htx, 26. september Flemming Topsøe Institut for Matematiske Fag, Københavns Universitet b 0 f.eks. 3 b 0 + a 1 f.eks. 3
