Download - Kap 01 Innledning
Kap 01 InnledningKap 01 InnledningKap 01 InnledningKap 01 Innledning
Algoritmer og datastrukturer
Fag : DAT201 Algoritmer og datastrukturer
Studiepoeng : 10Forelesning : 4 t/ukeØving : 4 t/uEksamen : Skriftlig 4 timer uten hjelpemidler
Prog.språk : Java / C++ / Flash (ActionScript)Pseudokode
Algoritmer og datastrukturer
Algoritmer : Prosessering av ulike datastrukturer vha pseudokode
Datastrukturer : Ulike måter å strukturere data på
Teori om ulike data-strukturerTeori om ulike data-strukturer Operasjoner i pseudokode-formOperasjoner i pseudokode-form Programmering i Java / C++ / Flash (ActionScript)Programmering i Java / C++ / Flash (ActionScript)
Algoritmer og datastrukturer
Algoritmer : Prosessering av ulike datastrukturer vha pseudokode.Step-by-step instruksjon til datamaskinen.
Kaffekoking1. Hent kaffekjelen2. Ta av lokket på kaffekjelen3. Hent kaffeposen4. Fyll 2 spiseskjeer med kaffe på kaffekjelen5. Gå bort til vannspringen6. Fyll 1 liter vann på kaffekjelen7. Sett kaffekjelen på plate nr 1 på komfyren8. Skru komfyrbryter til plate nr 1 på 10009. Kok opp kaffen
Komplekse problemstillingerViktige elementer
OOP
Event
Algoritmer / Datastrukturer
AnvendelserIdrett
Tre
AnvendelserGPS
Graf
AnvendelserSeismologi / Bildebehandling / Medisin
Tre
AnvendelserBilde-detaljer / komprimering
Tre
AnvendelserBildekomprimeering
JPEG JPEG2000 m/Wavelet
Tre
AnvendelserAnvendelserBildekomprimeringBildekomprimering AnvendelserAnvendelserBildekomprimeringBildekomprimering
2
2
1h
0h
2
2
1h
0h
2
2
1h
0h
3V
2V
2W
0W
0V
1W
1V
Tre
Fourier-transformation of a square waveFourier-transformation of a square waveFourier-transformation of a square waveFourier-transformation of a square wave
f(x) square wave (T=2)
N=2
N=10
1
1
0
])12sin[(12
14
2sin
2cos
2)(
n
nnn
xnn
T
xnb
T
xna
axf
N
n
xnn
xf1
])12sin[(12
14)(
N=1
Graf / Tre
AnvendelserKalkulator
StakkTreGraf
AnvendelserSymbolsk derivasjon - Benyttes til å beskrive prosessendringer
Newtons 2.lov
Radioaktivitet
Kvantefysikk
SHM
Varmetransport
Bølger
Elektrisk krets
)x(Fkx'cx''mx
ukt
u 2
zat
z 222
2
Typer av diff.lign.
ODE Ordinære Endringer mht en enkelt variabelPDE Partielle Endringer mht flere variabler
E
ti
h E)r(V
m2
h 22
vmdt
dF
dt
rdmF amF
2
2
kNdt
dN
Eidtdt
diLRi
AnvendelserSymbolsk derivasjonAnvendelserSymbolsk derivasjon
y = 0.2x2
y’ = 0.4x
y = xcosx y’ = cosx - xsinx
Derivasjon omhandler endringsstudier av en funksjon.Slike endringer studeres vha stigningstallettil tangenter til funksjonsgrafen.
For en gitt funksjon er det av interesseå bestemme den deriverte funksjonen.
AnvendelserNettverk
Graf
AnvendelserMaksimal flytAnvendelserMaksimal flyt
AnvendelserSelectionSort
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 Innledning02 Tabeller / Tabell-operasjoner03 Array-klasser (Java-implementering)04 Lister m/praktisk anvendelse05 Abstrakte datatyper (Java-implementering)06 Ordnede/Sorterte lister (Java-implementering)07 Stakk08 Kø09 Tre10 Graf11 Mengde12 Hashing13 Sortering14 Algoritme-mønstre og problemløsing
App A Java programmeringApp B KlassehierarkiApp C Java dokumentasjonApp D Java 2 Platform, Standard Edition v 1.3.1 API SpecificationApp E Flash / ActionScript 3.0App F Algoritme analyseApp G Matematisk induksjon
Uke-plan
34 Innledning / Java-repetisjon / Rekursjon35 OOP / Matematisk induksjon36 Tabeller / Tabell-operasjoner37 Array-klasser (Java-implementering)38 Lister39 Abstrakte datatyper (Java-implementering)
Ordnede/Sorterte lister (Java-implementering)40 Stakk / Kø41 Tre42 Tre43 Graf44 Graf / Mengde45 Algoritmeanalyse46 Repetisjon / Eksamensoppgaver
Tabell / Post / KlasseTabell / Post / Klasse ListeListe StakkStakk KøKø TreTre GrafGraf MengdeMengde
Ulike datastrukturer
Tabell - Post - Klasse
Attributter
Funksjoner
Array Struct Class
Array
Les inn nedbørmengde for årets 12 måneder:
FOR mnd := 1 TO 12 DOles nedbor[mnd]
ENDFOR
nedbor
nedbor[2]
FOR mnd := januar TO desember DOles 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( )…
}
Liste
Top
In
Out
Stakk (LIFO)
Top
In
Out
Kø (FIFO)
Tre
Graf
Mengde
Notasjoner
Tilordning : a := b a := b a = bTest 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 Variabler003 Innlesing fra tastatur004 Seleksjon if - else005 Seleksjon switch - case - default006 Sløyfer for007 Sløyfer while008 Sløyfer do - while009 Tabell (Array)010 Funksjon 011 Rekursjon012 Innlesing fra fil013 Klasse - Objekt014 Arv - Polymorfi015 Interface – Abstrakte klasser016 Indre klasser
ENDENDENDEND