340 likes | 547 Views
Kap 01 Innledning. Algoritmer og datastrukturer. Fag : DAT201 Algoritmer og datastrukturer Studiepoeng : 10 Forelesning : 4 t/uke Øving : 4 t/u Eksamen : Skriftlig 4 timer uten hjelpemidler Prog.språk : Java / C++ / Flash (ActionScript) Pseudokode.
E N D
Algoritmer og datastrukturer Fag : DAT201 Algoritmer og datastrukturer Studiepoeng : 10 Forelesning : 4 t/uke Øving : 4 t/u Eksamen : Skriftlig 4 timer uten hjelpemidler Prog.språk : Java / C++ / Flash (ActionScript) Pseudokode
Algoritmer og datastrukturer • Teori om ulike data-strukturer • Operasjoner i pseudokode-form • Programmering i Java / C++ / Flash (ActionScript) Algoritmer : Prosessering av ulike datastrukturer vha pseudokode Datastrukturer : Ulike måter å strukturere data på
Algoritmer og datastrukturer Algoritmer : Prosessering av ulike datastrukturer vha pseudokode. Step-by-step instruksjon til datamaskinen. Kaffekoking 1. Hent kaffekjelen 2. Ta av lokket på kaffekjelen 3. Hent kaffeposen 4. Fyll 2 spiseskjeer med kaffe på kaffekjelen 5. Gå bort til vannspringen 6. Fyll 1 liter vann på kaffekjelen 7. Sett kaffekjelen på plate nr 1 på komfyren 8. Skru komfyrbryter til plate nr 1 på 1000 9. Kok opp kaffen
Komplekse problemstillingerViktige elementer OOP Event Algoritmer / Datastrukturer
Tre AnvendelserIdrett
Graf AnvendelserGPS
Tre AnvendelserSeismologi / Bildebehandling / Medisin
Tre AnvendelserBilde-detaljer / komprimering
Tre AnvendelserBildekomprimeering JPEG JPEG2000 m/Wavelet
Tre AnvendelserBildekomprimering
Graf / Tre Fourier-transformation of a square wave f(x) square wave (T=2) N=1 N=2 N=10
Stakk Tre Graf AnvendelserKalkulator
AnvendelserSymbolsk derivasjon - Benyttes til å beskrive prosessendringer Typer av diff.lign. ODE Ordinære Endringer mht en enkelt variabel PDE Partielle Endringer mht flere variabler Newtons 2.lov Radioaktivitet Kvantefysikk SHM Varmetransport Bølger Elektrisk krets
AnvendelserSymbolsk derivasjon y = 0.2x2 y’ = 0.4x y = xcosx y’ = cosx - xsinx Derivasjon omhandler endringsstudier av en funksjon. Slike endringer studeres vha stigningstallet til tangenter til funksjonsgrafen. For en gitt funksjon er det av interesse å bestemme den deriverte funksjonen.
Graf AnvendelserNettverk
Anvendelser Beregning av aritmetiske uttrykk . Stakk a / b ^ c + d * e - a * c Besøk til ulike byer. Graf Hvilken rute er raskest, kortest, billigst, … ? Medisinsk diagnose. Tre Optimalisering av nettverk. Graf / Tre Prosjektgjennomføring. Graf Bildebehandling. Tre
Innhold 01 Innledning 02 Tabeller / Tabell-operasjoner 03 Array-klasser (Java-implementering) 04 Lister m/praktisk anvendelse 05 Abstrakte datatyper (Java-implementering) 06 Ordnede/Sorterte lister (Java-implementering) 07 Stakk 08 Kø 09 Tre 10 Graf 11 Mengde 12 Hashing 13 Sortering 14 Algoritme-mønstre og problemløsing App A Java programmering App B Klassehierarki App C Java dokumentasjon App D Java 2 Platform, Standard Edition v 1.3.1 API Specification App E Flash / ActionScript 3.0 App F Algoritme analyse App G Matematisk induksjon
Uke-plan 34 Innledning / Java-repetisjon / Rekursjon 35 OOP / Matematisk induksjon 36 Tabeller / Tabell-operasjoner 37 Array-klasser (Java-implementering) 38 Lister 39 Abstrakte datatyper (Java-implementering) Ordnede/Sorterte lister (Java-implementering) 40 Stakk / Kø 41Tre 42 Tre 43Graf 44 Graf / Mengde 45Algoritmeanalyse 46 Repetisjon / Eksamensoppgaver
Ulike datastrukturer • Tabell / Post / Klasse • Liste • Stakk • Kø • Tre • Graf • Mengde
Tabell - Post - Klasse Attributter Funksjoner Array Struct Class
Array Les inn nedbørmengde for årets 12 måneder: nedbor nedbor[2] FOR mnd := 1 TO 12 DO les nedbor[mnd] ENDFOR FOR mnd := januar TO desember DO les nedbor[mnd] ENDFOR
class Behandle nedbørmengde for årets 12 måneder: class Nebor { private: data[12] public: Nedbor(…) setNedbor(…) getNedbor(mnd) sum( ) gjennomsnitt( ) getMax( ) getMin( ) … }
Stakk (LIFO) In Out Top
Kø (FIFO) In Out Top
Notasjoner Tilordning : a := b a := b a = b Test likhet : a == b a = b a == b Test : IF …THEN if (…) { … … } ELSE IF else if(…) { … … { ELSE else { … … ENDIF } Sløyfe : FOR … DO WHILE ...DO while… { … ... ENDFOR ENDWHILE }
ProgrammeringRepetisjon 001 Utskrift av ”Hello” 002 Konstanter og Variabler 003 Innlesing fra tastatur 004 Seleksjon if - else 005 Seleksjon switch - case - default 006 Sløyfer for 007 Sløyfer while 008 Sløyfer do - while 009 Tabell (Array) 010 Funksjon 011 Rekursjon 012 Innlesing fra fil 013 Klasse - Objekt 014 Arv - Polymorfi 015 Interface – Abstrakte klasser 016 Indre klasser