1 Datalogi C Datastrukturer og algoritmer ved Keld Helsgaun.

Slides:



Advertisements
Lignende præsentationer
Tre klare mål 1.Folkeskolen skal udfordre alle elever, så de bliver så dygtige, de kan –Mindst 80 pct. af eleverne skal være gode til at læse og regne.
Advertisements

1 Problemkompleksitet 2 Problemers kompleksitet En ineffektiv algoritme: køretiden vokser eksponentielt med input- størrelsen Et problem, der ikke kan.
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17] Gerth Stølting Brodal.
Projektforslag Keld Helsgaun.
Roskilde Tekniske Gymnasium
DProg2 E Programmering 2 dProg2 E2010
Formularer (Access, del 3)
Softwarekonstruktion
Illustration fra Kort om kræft figur 4.1.
Problemløsningsheuristik I.1 Hvordan besvarer man sin problemstilling? I.Forstå problemstillingen 1.Hvad er det (i min problemstilling) som jeg ikke ved.
Datastrukturer Simple-type structs
Plan for start på datalogi, DØK 2. år 1. Datalogi kick-off. Præsentation af lærere og instruktorer (Niels, Jacob, Christian, Jesper, Lars & Sine). Niels:
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Oprettelse af tabeller (Access, del 2)
Datastruktur & Algoritmik1 Datastruktur & Algoritmik 99 Kim Guldstrand Larsen.
Datastrukturer og algoritmer
1 Bevisteknikker. 2 Bevisteknikker (relevant både ved design og verifikation) Teorem: Der findes uendeligt mange primtal Bevis: Antag at der findes et.
1 Projektforslag på modul 2 ved Keld Helsgaun. 2 Fagligt indhold Projekt- og kursusarbejdet skal give de studerende indsigt i følgende emnekredse: Gå.
1 UNION-FIND. 2 inddata: en følge af heltalspar (p, q); betydning: p er “forbundet med” q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel.
Objektorienteret programmering
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Læreanstalternes Fælles Formidlingskursus 25. November 2001 Faglig formidling gennem netmedier Computer-supported Collaborative Work i reflektionsbaseret,
13.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Funktionskomponent Oversigt, principper og teknikker Kapitel 13.
Introduktionsmøde om bacheloropgaven 5. september 2007.
1 Algoritme til at løse knude P-center problemet Algoritmen brugte set covering problemet Virker derfor kun til knude problemer Vi vil alligevel bruge.
Datastrukturer og Collections Rasmus D. Lehrmann DM
Avancerede Paneldata Metoder I
Grafer og Algoritmer Rasmus D. Lehrmann DM
P0 erfaringsopsamling Program 8.15: Introduktion
MMP Model og Metode til Programudvikling – MMP 1 Kursusindhold: Modellering af postkontor Objekt Orienteret Programudvikling - OO* Unified Modelling.
1 Vi ser nu på en general graf Men antager at alle afstande er heltallige (Det er ikke så restriktivt) Algoritmen leder efter den mindst mulige dækningsdistance.
1 Algoritmik ved Keld Helsgaun. 2 Plan Algoritmebegrebet et simpelt eksempel Et eksempel på algoritmedesign.
OOMI Præsentation 28: Eksamen. Ingeniørhøjskolen i Århus Slide 2 af 6 Pensum Pensum har været noget fragmenteret (ny struktur for faget, nyt indhold og.
Den lægelige videreuddannelse Hospitalsenheden Vest.
HELHED på Enghaveskolen Skoleåret HELHED på Enghaveskolen Definition på helhed De bedst mulige betingelser for at fremme det enkelte barns udvikling.
1 Algoritmik ved Keld Helsgaun. 2 Plan Hvad er algoritmik? Et eksempel Kursusbeskrivelse formål, indhold og form.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
1 Design, analyse og verifikation. 2 Algoritmebegrebet Design Bevisteknikker Design ved hjælp at matematisk induktion Analyse O-notation Logaritmer Binær.
Fundamentale datastrukturer
FEN KbP/seminar 1: Specifikationer/Notationen Q 1 Kontraktbaseret programmering: Seminar 1 Om specifikationer Algoritmenotationen Q.
Design, verifikation og analyse
1 Grafalgoritmer I. 2 Plan Grafer - definition - anvendelser - terminologi - eksempler på grafproblemer Grafgennemgang - dybde-først-gennemgang - bredde-først-gennemgang.
Grafalgoritmer II.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
1 Algoritmedesign med internetanvendelser ved Keld Helsgaun.
Problemløsningsheuristik I.1 1.Hvad er det (i min problemstilling) som jeg ikke ved endnu? Dvs. hvad leder jeg efter (og hvorfor er det vigtigt/interessant.
Problemløsningsheuristik A.1 1.Hvad er det (i min problemstilling) som jeg ikke ved endnu? Dvs. hvad leder jeg efter (og hvorfor er det vigtigt/interessant.
Oprettelse af tabeller (Access, del 2)
Økonometri 1: Dummy variable1 Økonometri 1 Dummy variable 24. marts 2003.
Økonometri 1 Avancerede Paneldata Metoder II. 2 Paneldata metoder Sidste gang: Paneldata med to eller flere perioder og ”fixed effects” estimation. Første-differens.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel 24]
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
GP9, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 11 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
Algoritmer og Datastrukturer 1 ”Rush Hour” Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
DADS: Algoritmer og Datastrukturer Forelæser: Gerth S. Brodal (vikar: EMS) Forelæsninger: timer, Aud E Kvarter: 3. (dADS 1) + 4. (dADS 2) Øvelser:
Clicker Test a)Ja b)Nej c)Ved ikke. Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
DAIMIIntroducerende objektorienteret programmeringIntro.1 Introducerende Objekt-Orienteret Programmering Efterår 2000.
Introduktion til Korrespondanceanalyse
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Paradigmer i Programmering 0. Plan for kurset 4 x Mads R, 4 x Torben B, 2 x opgave MR: Funktionsprogrammering, SML TB: Logikprogrammering, Prolog Opgave:
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
Data intro (Side 1-3 i artiklen: 2. Repræsentation og manipulation af Data)
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Præsentationens transcript:

1 Datalogi C Datastrukturer og algoritmer ved Keld Helsgaun

2 Algoritmer og datastrukturer Kursusbeskrivelse Spørgsmål Plan

3 Hvad er en algoritme? En algoritme er en fremgangsmåde til løsning af et problem Bemærk. Det er ikke et krav, at en algoritme skal kunne udføres på en datamat! Dette kursus omhandler dog mest algoritmer af denne type.

4 Tre vigtige områder: Design Analyse Verifikation Design: Hvorledes konstrueres en algoritme? Analyse: Hvor “ressourcekrævende” er en algoritme? Verifikation: Er en algoritme korrekt?

5 Hvorfor studere algoritmer? (1) For at kunne vælge kvalificeret imellem eksisterende algoritmer (2) For at kunne tilpasse eksisterende algoritmer til givne formål (3) For at kunne udvikle nye algoritmer

6 Databegrebet Data: En formaliseret repræsentation af kendsgerninger eller forestillinger på en sådan form, at den kan kommunikeres eller omformes ved en eller anden proces. Inddata Uddata Algoritme Datalogi: Læren om data, deres væsen og brug.

7 Information: Det betydningsindhold, et menneske tillægger data ud fra en vedtagen konvention. Informationsteknologi: Enhver form for teknologi, der anvendes til opsamling, behandling, lagring og formidling af data og information. Informationsbegrebet

8 En datastruktur er en samling variable, muligvis af forskellig type, der er indbyrdes forbundet på en eller anden måde. Hvad er en datastruktur? Eksempler: array, stak, kø, hægtet liste, træ Realisering i Java: ved simple variable, arrays og klasseobjekter

9 To muligheder for fokusering i programudviklingen (1) Algoritmer Opsplitning ud fra “control flow” (procedure-orienteret tilgang) (2) Datastrukturer Opsplitning ud fra “data flow” Objektorienteret programmering er en balance imellem disse to yderpunkter.

10 Kursusbeskrivelse Formål Indhold Form

11 Formål Formålet er at opøve evnen til at konstruere algoritmer at give viden om centrale algoritmer og datastrukturer at give kendskab til analyse og verifikation af algoritmer Hovedvægten lægges på de to første punkter.

12 Indhold (1) Objektorienteret programmering I (2) Objektorienteret programmering II (3) Algoritmeanalyse (4) Datastrukturer I (5) Rekursion (6) Sortering (7)Anvendelser I (8)Anvendelser II (9) Anvendelser III spil, syntaksanalyse, filkomprimering, simulering, grafer (10) Datastrukturer II (11) Datastrukturer III (12) Datastrukturer IV

13 Form Forelæsningerne gennemgår pensum i lærebogen, men ofte på en anderledes måde. Forelæsningerne supplerer lærebogen. Der lægges vægt på datalogiens kreative sider, således bl.a. på designprincipper for algoritmer. Øvelserne udgør et absolut nødvendigt led i kurset (jvf. man kan ikke blive musiker ved kun at læse musikteori).

14 Tid og sted Forelæsninger: tirsdage , teorirum i 42.2 Øvelser: fredage , datastue og møderum i 42.1

15 Data Structures & Problem Solving Using Java Mark Allen Weiss, Addison-Wesley, 2nd Edition, Lærebog Fordele: gode beskrivelser på letforståeligt engelsk vægt på dataabstraktion algoritmerne er omsat til udførbar kode gode eksempler

16 Deltagerforudsætninger Kurset Datalogi A (struktureret programmering) på den naturvidenskabelige basisuddannelse eller tilsvarende.

17 Evaluering Der stilles et antal afleveringsopgaver fordelt over kursusperioden. Heraf skal mindst 80% være tilfredsstillende besvaret. Afleveringsfrister skal overholdes, og der er ikke mulighed for genaflevering.

18 Læs kapitel 1, 2 og 3 i lærebogen (side 1-76) Ugeseddel 0 7. september september