34
Kap 01 Innledning Kap 01 Innledning

Kap 01 Innledning

  • Upload
    oakes

  • View
    112

  • Download
    0

Embed Size (px)

DESCRIPTION

Kap 01 Innledning. Algoritmer og datastrukturer. Fag:DAT201Algoritmer 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. - PowerPoint PPT Presentation

Citation preview

Page 1: Kap 01 Innledning

Kap 01 InnledningKap 01 InnledningKap 01 InnledningKap 01 Innledning

Page 2: Kap 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

Page 3: Kap 01 Innledning

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)

Page 4: Kap 01 Innledning

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

Page 5: Kap 01 Innledning

Komplekse problemstillingerViktige elementer

OOP

Event

Algoritmer / Datastrukturer

Page 6: Kap 01 Innledning

AnvendelserIdrett

Tre

Page 7: Kap 01 Innledning

AnvendelserGPS

Graf

Page 8: Kap 01 Innledning

AnvendelserSeismologi / Bildebehandling / Medisin

Tre

Page 9: Kap 01 Innledning

AnvendelserBilde-detaljer / komprimering

Tre

Page 10: Kap 01 Innledning

AnvendelserBildekomprimeering

JPEG JPEG2000 m/Wavelet

Tre

Page 11: Kap 01 Innledning

AnvendelserAnvendelserBildekomprimeringBildekomprimering AnvendelserAnvendelserBildekomprimeringBildekomprimering

2

2

1h

0h

2

2

1h

0h

2

2

1h

0h

3V

2V

2W

0W

0V

1W

1V

Tre

Page 12: Kap 01 Innledning

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

Page 13: Kap 01 Innledning

AnvendelserKalkulator

StakkTreGraf

Page 14: Kap 01 Innledning

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

Page 15: Kap 01 Innledning

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.

Page 16: Kap 01 Innledning

AnvendelserNettverk

Graf

Page 17: Kap 01 Innledning

AnvendelserMaksimal flytAnvendelserMaksimal flyt

Page 18: Kap 01 Innledning

AnvendelserSelectionSort

Page 19: Kap 01 Innledning

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

Page 20: Kap 01 Innledning

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

Page 21: Kap 01 Innledning

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

Page 22: Kap 01 Innledning

Tabell / Post / KlasseTabell / Post / Klasse ListeListe StakkStakk KøKø TreTre GrafGraf MengdeMengde

Ulike datastrukturer

Page 23: Kap 01 Innledning

Tabell - Post - Klasse

Attributter

Funksjoner

Array Struct Class

Page 24: Kap 01 Innledning

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

Page 25: Kap 01 Innledning

class

Behandle nedbørmengde for årets 12 måneder:

class Nebor {private:

data[12]public:

Nedbor(…)setNedbor(…)getNedbor(mnd)sum( )gjennomsnitt( )getMax( )getMin( )…

}

Page 26: Kap 01 Innledning

Liste

Page 27: Kap 01 Innledning

Top

In

Out

Stakk (LIFO)

Page 28: Kap 01 Innledning

Top

In

Out

Kø (FIFO)

Page 29: Kap 01 Innledning

Tre

Page 30: Kap 01 Innledning

Graf

Page 31: Kap 01 Innledning

Mengde

Page 32: Kap 01 Innledning

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 }

Page 33: Kap 01 Innledning

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

Page 34: Kap 01 Innledning

ENDENDENDEND