Rekursjon. I. Et enkelt eksempel

Like dokumenter
Et enkelt eksempel. terminering. i-120 : H Rekursjon: 1. invarianter (notat til Krogdahl&Haveraaen) ... t.o.m. som hale-rekursjon

Rekursjon. Et enkelt eksempel

Et enkelt eksempel. Rekursjon

2. Å R S B E R E T N I N G O G R E G N S K A P F O R A ) Å r s b e r e t n i n g o g r e g n s k a p f o r

K j æ r e b e b o e r!

S T Y R E T G J Ø R O P P M E R K S O M P Å A T D Ø R E N E S T E N G E S K L

K j æ r e b e b o e r!

FAGKONFERANSE KONTROL L OG TILSYN GARDERMOEN JUNI A RSMØTE I FORU M FO R KONTROLL OG TILSYN 5. JUN I 2013

K j æ r e b e b o e r!

K j æ r e b e b o e r!

Chapter 2 - Discrete Mathematics and Its Applications. Løsningsforslag på utvalgte oppgaver

K j æ r e b e b o e r!

K j æ r e b e b o e r!

Fakultet for teknologi, kunst og design Teknologiske fag

I n n k a l l i n g t i l o r d i n æ r t s a m e i e r m ø t e

Rekursjon I. TRE AV REKURSIVE KALL, II. INDUKTIVE DATA TYPER IV. STABEL AV REKURSIVE KALL V. KORREKTHET. rekursjonsdybde terminering ordning

K j æ r e b e b o e r!

K j æ r e b e b o e r!

I N N K A L L I N G T I L O R D I N Æ R T S A M E I E R M Ø T E

I N N K AL L I N G T I L O R D I N Æ R T S A M E I E R M Ø T E

Ge i r Berge 47. En d a t a s t r u k t u r f o r o rd b ø k e r f o r n a t u r lig e sp råk. 1. In n le d n in g

Kap. 8-4 Press- og krympeforbindelse

INNKALLING TIL ORDINÆRT SAMEIERMØTE 2009

Modul 1 15 studiepoeng, internt kurs Notodden/Porsgrunn

P r in s ipp s ø k n a d. R egu l e r i ngsen d r i n g f o r S ands t a d gå r d gn r. 64 b n r. 4 i Å f j o r d ko mm un e

Matematikk for IT, høsten 2018

K j æ r e b e b o e r!

پ0 3 پ0 3 پ0 3 پ0 3. پ0 3 پ0 3 پ0 3 پ0 3i پ0 3 ² پ0 3 پ0 3 پ0 3 پ0 3 پ0 3 پ0 3 پ0 3 پ0 3 پ0 3

Tore på sporet - Hvor tar avfallet ditt veien?

K j æ r e b e b o e r!

2. Å R S B E R E T N I N G F O R Å R S R E G N S K A P F O R M E D B U D S J E T T F O R

Hvordan sikre barn og pårørendes behov i spesialisert rusbehandling?

Jeg har en venn. Ó j œ. # œ œ. œ œ. Ó J. œ œ. œ œ œ œ. œ œ. œ œ. œ œ œ. œ œ. œ œ œ. œ œ. œ œ. Norsk trad. arr Mattias Ristholm. Soprano.

Vedlegg til eksamensoppgaven i Diskret matematikk

NORSK TEKSTARKIV J o s t e in H. Hauge

Kapittel 9 ALGEBRA. Hva er algebra?

sko trender Røft eller elegant Riktige sko til treningen Down Town har utvalget! 9 sider inspirerende Finn din favoritt!

K j æ r e b e b o e r!

Hjertet Banker & # œ œ œ œ Hjer - tet ban - ker, hjer - tet ban - ker, liv. œ œ œ œ œ œ œ œ œ œ œ œ Œ. œ œ œ œ Œ œ œ œ œ œ œ œ œ Ó gjør oss lev -en-

INNKALLING TIL ORDINÆRT SAMEIERMØTE 2010

K j æ r e b e b o e r!

Fjøsangerveien Strømmen

Formler og regler i statistikk ifølge lærebok Gunnar Løvås: Statistikk for universiteter og høgskoler

Våre Vakreste # & Q Q Q A & Q Q Q - & Q Q Q.# arr:panæss 2016 E A A 9 A - - Gla- ned. skjul F Q m. ler. jul. eng- da- jul. ler.

Sommerkoteletter fra ferskvaredisken. -appen! Finn oppskrifter og tilbud på MENY.no eller i. 90 ord.pris 17,90/stk SPAR 53% ord.

Erklæring om ansvarsrett etter plan- og bygningsloven (pbl) 23-3

INNKALLING TIL ORDINÆRT SAMEIERMØTE 2010

1 3Tre korsange til digte af Jeppe Aakjپ0ٹ3r Tilegnet Randers Bykor og dets dirigent Lotte Bille Glپ0ٹ3sel

Forelesning Ordnings observatorer

INNKALLING TIL ORDINÆRT SAMEIERMØTE 2010

O v e rfø rin g fra s to rt a n le g g til m in d re a n le g g

Del I InDustrIutvIklIng: en fortelling om fornyelsen av luftfart... 15

MELLØS SKOLE. en trygg skolevei. Til alle barn og foreldre ved Melløs skole!

Kap. 23 Elektrisk potensial. Eks. 1, forts. av: Hvor stor er 1 coulomb? Kap

Avdeling for ingeniørutdanning. Eksamen i Diskret matematikk

å være aktve og skape egne kunstneriske og kulturelle uerykk.»

Forelesning 19 og 20 Regresjon og korrelasjons (II)

Forelesning Enveis ANOVA

EKSAMEN I EMNE TMT4110 KJEMI - løsningsforslag

ORDINÆR GENERALFORSAMLING 2010 AS TØYENPARKEN BOLIGSELSKAP TORSDAG 6. MAI 2010 I CAFE EDVARD MUNCH, MUNCHMUSEET

Oppgaven dekker ideell opamp, bodeplot og resonans.

INNKALLING TIL ORDINÆRT SAMEIERMØTE 2009

Løsning eksamen TFY desember 2014

TMA4245 Statistikk Eksamen august 2014

2FOR 2FOR 2FOR 2FOR 2FOR SMIL - DU HAR GJORT EN GOD DEAL KJØPER DU EN AV DISSE FÅR DU MED ET AV DISSE. Pr stk 23,20 1,5 l.

S2 kapittel 1 Rekker Utvalgte løsninger oppgavesamlingen

All frukt og bær. Gjelder ikke tørket eller hermetisert frukt eller X-tra produkter som allerede er satt ned i pris

Velkommen til. Erles konfirmasjon. 24. mai 2009

Forelesning Z-, t-test, test for forventningsdifferanser

I n n k a l l i n g t i l o r d i n æ r t s a m e i e r m ø t e

I n n k a l l i n g t i l o r d i n æ r g e n e r a l f o r s a m l i n g

K v in n e r p å tv e rs

Uke Område Kompetansemål Delmål/læringsmål Læremiddel/lærever k/ metode 2 u k e r. Kunne lese og bruke papirbaserte og digitale kart

SERVICEERKLÆRING 1. Innledning 2. Demokrati, samarbeid og medvirkning 3. Generell informasjon 4. Internasjonalisering

8SQEXIV. 6MO Tp P]OSTIR :MOXMK OMPHI XMP ZMXEQMR % SK ZMXEQMR ' (IP EZ SQ HEKIR -XEPMER. % italienske. av 24 tim. *PpHHI KYPI TPSQQIXSQEXIV

ffi,\ii o åffi{ffi i * Åmsp[hruen 5.-7"TRINN I FAGoP Pt ÆRING på MonsnnÅu NATURFAG SAMFUNNSFAG TIL HJELP OG M ED TREKANTSAMARBEI DET ffi

F r o d e E r i k s e n/ s / S v e i n G u n n a r G as k a/ s / R o a r L a u r i t z e n / s /

Byparken Fjøsangerveien

n_angle_min.htm

Reiseregning. Bankkto. Avdeling/ tj.sted. Skattekommune Utreise. Trondheim Reisested og -formål Tjenestereise

INNKALLING TIL ORDINÆRT SAMEIERMØTE 2010

I n n k a l l i n g t i l o r d i n æ r t s a m e i e r m ø t e

INNKALLING TIL ORDINÆRT SAMEIERMØTE 2010

HØSTFEST ONSDAG 23. TIL LØRDAG 26. OKTOBER VI SERVERER KRINGLE OG KAFFE TORSDAG, FREDAG OG LØRDAG. GEORG JENSEN Tørkerull-holder 40% før kr.

FOLKETS PIMPER PØLSA!

Klikk (ctrl + klikk for nytt vindu) for å starte simuleringen i SimReal.

IntroduksJQn (Springdans) Allegretto I - la. Tra-la-la-la, tra-la-la-la, tra-la-la-la - la. Tra - la. Ka-ri og Ma-ri, kom snsgg dokk sta.

Kapittel 4 Tall og algebra Mer øving

I N N K A L L I N G T I L O R D I N Æ R G E N E R A L F O R S A M L I N G

Kan du Løveloven...?

Dynamisk programmering. Hvilke problemer? Optimalitetsprinsippet. Overlappende delproblemer

I N N K A L L I N G T I L O R D I N Æ R G E N E R A L F O R S A M L I N G

Sk ie n ko mm une. R EG UL E R I N GS B ES T E MM E L SER T I L D eta ljr e gu l e ri n g

- fokusområder og tiltak

I n n k a l l i n g t i l o r d i n æ r t s a m e i e r m ø t e

Veiledning i bruk av Excel-fila Kalkulator. et verktøy for å beregne gjennomsnittlige gruppestørrelser.

I n n k a l l i n g t i l o r d i n æ r t s a m e i e r m ø t e

K j æ r e b e b o e r!

Ø K S N E V A D P O R T E N E I E N D O M A S

DRIFTSANALYSER 2012/2013 FORELØBIGE RESULTATER

Transkript:

Reusj I. ET ENKELT EKSEMPEL II. TRE AV REKURSIVE KALL, eusjsdybde temeg dg III.INDUKTIVE DATA TYPER g Reusj ve Dt Type IV. SPLITT OG HERSK PROBLEMLØSNING VED REKURSJON Kp. 8.. V. REKURSJONS EEKTIVITET dyms pgmmeg vsjæg VI. STABEL AV REKURSIVE KALL tesj tl eusj eusj mplemetet sm tesj VII.KORREKTHET temeg vte demed fedg med geeell BASIS - : H-98 4. Reusj: I. Et eelt esempel h e metde sm /** lese e lje f temle * @etu leste Stg * @except IOExcept tlfelle / pblem publc Stg edl() g vl lge e sm /** lese f temle tl f et heltll * @etu leste tllet * @except ge ut det mme et heltll /* publc t Red() { * Stg s= edl(); * t = het feste t f s; * whle (! lt ) gjet pev este lje; * etu ; publc t myred() { /* Stg s= edl(); * t = het feste t f s; * f (lt ) etu ; * else // pev gje med este lje * etu myred(); publc t myred() { ty{ etu Itege.pseIt(edl()); ctch(ioexcept e) { etu myred(); ctch(numbemtexcept e) { etu myred(); - : H-98 4. Reusj:

Itesj tl eusj t sumw(t ) { t =, es= ; whle ( = ) { es= es; ; etu es; t sumr(t ) { f ( == ) etu ; else etu sumr(-); Gvt g e % tg sgt: t W(t ) { = bss; es= t; whle (Bet(,)) { Kppe(,es); ppd(); etu es; t R(t ) { f ( == bss) etu t; else Kppe(, R(-ppd())); Ehve tesj (løe) sves sm e eusv metde... t..m. sm hle-eusj - : H-98 4. Reusj: II. Reusjsdybde g -te fb() = fb() = fb() = fb() fb() etue bsstlfelle publc t fb(t ) { f (== ==) etu ; else etu fb(-) fb(-); elles beeg eusvt elee (mde) dele g sett de smme f(4)...? f()...? eefølge f()...? v ll f(4) f()...? > f() f() f()...? > f() f() f() f() > f()...? > f() f() > f()...? f()...? > f()...? > > 5 > 5 # svte = # øde lje eusjsdybde = # eusve ll... tl bss tlfelle e ådd (= høyde v teet) - : H-98 4. Reusj: 4

III. Idutve Dt Type (vlålg ste me edelge) tulge tll N: y v N: A(N) bss: e et N bss -> N e A(N) hvs e et N hvs [...] -> N e A(N) så e: et N så e [...,] -> N e A(N) Lste v N: L(N): bss: ull e e L(N) hvs L e L(N) g e N L N... N N L Stutuell deg... N... N så e: ( L) e L(N) L L Bæe Tæ v N: BT(N): bss: ull e et BT(N) t, t hvs så e: t, t e BT(N) g e N (t,, t) et BT(N) t t substutu supestutu t t t t - : H-98 4. Reusj: 5 Vsje ve tem dutv defsj = f bss g ppve eusj = f tppe mt bss fb() { N f (==) etu ; sum() { bss: else f (==) etu ; f (==) etu ; d: else etu else etu sum(-); fb(-) fb(-); AN c(an A,) { sum(an A,) { bss: [] -> N A[]; f (==) etu A[]; d:[.., ] -> N f (>) c(a,-); else etu A[] sum(a,-); LT clss LT { c(ls L) { sum(ls L) { bss: ull t ; f (L==ull) { f (L==ull) etu ; d: (L) LT xt; else { ; else etu sum(l.ext); c(l.xt); BT clss BT { c(bt B) { sum(bt T) { bss: ull t ; f (T==ull) { f (T==ull) etu ; d: (t,,t) BT left; else {; else etu BT ght; c(t.left); sum(t.left) c(t.ght); sum(t.ght) ; RACTALS - : H-98 4. Reusj: 6

IV. Spltt g Hes Reusj sm e geeell stteg f pblemløsg g lgtmedesg Gtt e sts v et pblem P :. hv gjø jeg å e bss tlfelle. hvd stuee løsg f utf løsge f e m P = ste put y A /* t[] SS(t[] A,) { // telt ll med SS(A,) * f (==A.legth-) { etu A; * else { = dese tl mste elemetet A[...A.legth-]; * bytt A[] med A[]; * etu SS(A, ); /* t[] MS(t[] A) { t lgh= A.legth; * f (lgh == ) { etu A; * else { del A mdte * t= A[...lgh/] g t= A[lgh/...lgh]; * ste eusvt begge (mde) = MS(t) g = MS(t) * etu flettet esultt v eusve ll L(,) * * L - flette t stete y e stet y O ( ) O (*lg ) P = f et gtt elemet x e y A Hvs A e ustet : sje A[]; hvs e de, lett A[...-] Hvs A e stet... /* t BS(t[] A,x,l,h) { //telt ll med BS(A,x,,A.legth-) * f (l > h) { etu -; * else { m = mdte mellm l g h = (lh)/ ; * f ( A[m] == x ) etu m; * else f ( A[m] x ) lett øve del A[m...h]; * else lett ede del A[l...m-]; O () O (lg ) - : H-98 4. Reusj: 7 Bæ Sø /* f des A tl et elemet x: t BS(t[] A,x,l,h) { * @pm A t A[...] stet t m= (lh) / ; * @pm x f x A f (l > h) etu -; * @pm l, h me be fm. l tm. h else f (A[m] == x) etu m; * @etu des tl x; else f (A[m] x) etu BS(A,x,m,h); * - hvs e fes else etu BS(A,x,l,m-); Nøel e 48. ll. ll. ll bsø(a, 48,, 9) bsø(a, 48, 5, 9) bsø(a, 48, 5, 6) [] [] [] [] [4] [5] [6] [7] [8] [9] A[] 9 4 48 5 55 7 99 l = m = (9)/ h = 9 [] [] [] [] [4] [5] [6] [7] [8] [9] A[] 9 4 48 5 55 7 99 l = 5 m = (59)/ h = 9 [] [] [] [] [4] [5] [6] [7] [8] [9] A[] 9 4 48 5 55 7 99 l = 5 h = 6 bss tlfelle m = (56)/ A[m] == øel etu 5 - : H-98 4. Reusj: 8

V. Reusj & effetvtet Reduse tll eusve ll t fb(t ) { f (== ==) etu ; else etu fb(-)fb(-); f() f(4) f() f() f() f() f() f() f(). Dyms pgmmeg : Istedef gjettte eusve ll tl f() med smme, esulttet v f() lges f seee bu: t[] ; vd b(t ) { = ew t[]; []=; []=; fb(); t fb(t ) { f (== ==) etu ; else f ([] > ) { etu []; else { t z= fb(-) fb(-); []= z; etu z; f(4) f() f() f() f() - : H-98 4. Reusj: 9 Reusj & effetvtet lle pemutsje v [,,...-] /* pem(a,) { t l= A.legth-; * f (==l) { sv A; * else { * f hve d:...l * B= A; * bytt B[] g B[d] * pem(b,) pem B[...l] A[..-] A[] A[..l] pem(a,) sve lle pem /* PE(A) { t l= A.legth; * f hve :...l/ { * B= A; * bytt B[] g B[]; * pem(b,); * f (l dd) { * bytt A[] g A[l/]; * pem(a,); sv v(a);. Avsjæg...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, - : H-98 4. Reusj:

VI. Reusj... t fb(t ) { f (== ==) etu ; else etu fb(-) fb(-); f() f() f() f(4) f() f() f() 4 mplemetees med Stbel f() f() 5 5 - : H-98 4. Reusj: Reusj tl tesj ( lltd mgjøes v.hj.. Stbel) t fb(t ) { f (== ==) etu ; else etu fb(-) fb(-); /*t fbs(t ) p = ew Stc(); e = ew Stc(); = ew Stc(); t Object!!! p.push( );.push(); whle (!p.empty()) { = p.pp(); f ( == ) { Kst!!! t =.pp(); f (== ==) e.push(); else { p.push( ); p.push( ); p.push( );.push(-);.push(-); else f ( == ) { = e.pp(); = e.pp(); e.push(); etu e.pp(); ( Ne eusj, sm f.es. hle-eusj, gjøes m tl tesj på mye elee måte. ) - : H-98 4. Reusj:

VII. Kethet Gtt e sts v et pblem P :. hv gjø jeg å e bss tlfelle. hvd stuee løsg f utf løsge f e m P() f Bss() etu??? else Kmbe( P(m)... P(m) ) Temeg: P() f Bss() stppe eusj else væ se på t hve m e æmee Bss Effetvtet: vhege v eusjsdybde hv mye mde hve m e, elle hv stt steg mt Bss utgjø hvet eusvt ll Kethet: P() f Bss() tlle t det utføes tg hdlg else HVIS lle eusve ll P(m) utføe tge hdlge DETTE ANTAR VI!!! SÅ g Kmbe(P(m)...P(m)) tg esultt - : H-98 4. Reusj: Kethet: Ivt /* t[] MS(t[] A) { t lgh= A.legth; * f (lgh == ) { etu A; * else { del A mdte * t= A[...lgh/] g t= A[lgh/...lgh]; * ste eusvt (mde) = MS(t) g = MS(t) * etu flettet esultt v eusve ll L(,) Ivt: MS(A) etuee stet gumet A: f lgh== d e A stet else dele A t dsjute t= A[...lgh/] g t= A[lgh/...lgh] MS(t) g MS(t) etuee stete g!!! ORUTSETNING hvs L flette et, så etuee hele else-gee tg esultt t BS(t[] A,x,l,h) { t m= (lh) / ; f (l > h) etu -; else f (A[m] == x) etu m; else f (A[m] x) etu BS(A,x,m,h); else etu BS(A,x,l,m-); Ivt: gumetet A e stet & e x A, så e de mellm [l... h] (telt ll med (A,x,,A.legth-) f l > h x e væe de else f A[m] = x d h v fuet de else f A[m] x e x A, så må de væe mellm [m... h]!!! ORUTSETNING: eusvt ll vl fe de de else A[m] > x e x A, så må de væe mellm [l... m-]!!! ORUTSETNING: eusvt ll vl fe de de - : H-98 4. Reusj: 4

Løevt t sum(t ) { f ( == ) etu ; bss: == sum() = else etu sum( ); hvs sum( ) etuee tg = så e sum() = sum( ) = = = t sumw(t ) { t =, =; whle (!= ) { = ; ; // =, =... b. Løevt, LI: = Itlseg: = & = = hvs LI: = = så hlde LI: = = = = => LI hlde fø ppe ' = ette ppe t sumw(t ) { t =, =; whle (!= ) { ; = ; // =, = etu ; 4. Utgg: LI: = & = => = = etu ; - : H-98 4. Reusj: 5 =