Kapittel 11 Rekursjon. 11.1 Å tenke rekursivt Rekursjon er ein programmeringsteknikk der ein metode kallar seg sjølv for å fullføre ei oppgåve For å kunne.

Slides:



Advertisements
Liknende presentasjoner
Prosjektoppgave Grafikk og digital foto.
Advertisements

Gruppe 6 Gunnar Henrik Mathias Morten Ronny Svein Ivar.
Ulike sorteringsmetoder Kompleksitet av dem
Kapittel G Syrer og baser.
Overordnet om HTML- undervisningen IT20 oktober 2004.
Memoisering og dynamisk programmering
Forside Introduksjon Fibonacci-tall Memoisering DP Neste uke Spørsmål Introduksjon til memoisering og dynamisk programmering Åsmund Eldhuset asmunde *at*
Øvingsforelesning Magnus Haug
Generelt I/O if/else Funksjoner Lists Løkker Dictionaries Annet Listebehandling Klasser Python med noen algdat-anvendelser Åsmund Eldhuset asmunde *at*
Hvordan skrive en effektiv kravspesifikasjon gsfc. nasa
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Klargjøring fra forrige gang
Komplekse tall Naturlige tall
Bokpresentasjon Oslo.
Kunsten å skrive pressemeldinger og pressenotat
Algoritmer og Datastrukturer
Dynamisk programmering
INF 295 Algoritmer og datastrukturer Forelesning 1 - kapittel 1 Introduksjon Hans F. Nordhaug (Ola Bø) (Ketil Danielsen, 2007)
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Oppgaver til kodegenerering etc. INF-5110, 2013 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet,
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
1 INF5110 – 23. april, 2013 Noen oppgaver til kap. 8 Dette er en bedre utgave av oppgavene, lagt ut 24. april Nå fredag (26/4): Det blir ikke undervisning.
Alg. Dat Øvingsforelesning 11 Dynamisk programmering, grådighet
FAGERLIA VIDEREGÅENDE SKOLE: PEDAGOGISK UTVIKLINGSARBEID
En formel er gyldig hviss den sann i alle tolkninger Utsagnslogikk Tolkning = linje i sannhetsverditabell Altså: En formel er gyldig hviss den har T i.
INF 295 Algoritmer og datastrukturer Forelesning 5 Algoritmeanalyse Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 22 Teknikker for algoritmeutvikling Hans Fr. Nordhaug/ Ola Bø.
An approach to multimodal and ergonomic nomadic services Marco Riva og Massimo Legnani.
Forside Intro Fibonacci-tall Memoisering DP Longest increasing subsequence Betingelser Matrise- multiplikasjon Longest common subsequence Grådig vs. DP.
INF160 Videregående Programmering Hausten Om kurset Lærebok: Lewis & Loftus: Java software solutions, 4.utgåve utgåve inneheld nye, viktige.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Nynorsk fagskriving Orden i teksta.
Eksempeltekst høst 2014 Når du skal svare på oppgaven:
Kapittel 2 Data og uttrykk. 2.1 Strengar Ein tekststreng er eit objekt i Java, definert av String klassen Meir om denne klassen i kapittel 3 Vi bruker.
Kapittel 4 Skriving av klasser. 4.1 Anatomien til ein klasse Så langt har vi brukt ferdige klasser frå klassebiblioteket i Java Vi lagar objekt og brukar.
Kunnskapsløftet og kroppsøvingsfaget v/ Reidun Nerhus Fretland Konferanse i Loen mars 2006.
Kapittel 9 Polymorfi. 9.1 Sein binding Ofte er det perfekt match mellom typen til ein variabel og objektet han refererer til ChessPiece bishop;... bishop.
Kapittel 3 Bruk av klasser og objekt. 3.1 Å lage objekt Eit variabelnamn i Java representerer Ein primitiv verdi (f eks boolean, int ) Eit objekt (f eks.
Kapittel 23 (Big Java 2.utg) Tråder. Kjøring av tråder Ein tråd er ein del av eit program som blir eksekvert uavhengig av andre deler av programmet Vi.
Matematikk 1 årskurs 26. oktober 2009
Leksjon 02 IKT i tilrettelegging av pedagogisk materiale 2.
Kapittel 5 Vilkårssetningar og løkker. 5.1 Boolske uttrykk George Boole ( ), britisk matematikar Utvikla teori om logikk ved bruk av symbol i.
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Språket i kommunane Innleiing ved Nils Ulvund og Jan Magne Dahle.
1 INFO231: Programutvikling F11: Rekursjon 11. mars 2003 INFO231 – Programutvikling Rekursjon.
Sannsynlighet og kombinatorikk
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
Kapittel 10 Exceptions Handtering av exceptions Ein exception er eit objekt som representerer ein feil eller eit unntak Exceptions blir kasta av.
1 Kvalitet i opplæringa – om tilpassa opplæring (KIO) Høgskulen i Volda.
Reinsing av vatn på Leikanger. Om oss. Me er fire elevar i 10a på Leikanger Ungdomsskule. Gruppa består av Halvard, Amalie, Hans Christer og Astrid. Me.
Naaman Ein dag sa jenta til matmor si: «Om berre husbonden kunne koma til profeten i Samaria, skulle nok han fri han frå hudsjukdomen.» 2.Kongebok.
Kap. 9 – Computer Intelligence How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
Kurs for valfunksjonærar Kyrkjevalet Innhald Velkomen til kurs! Nytt ved kyrkjevalet i 2015 Kursmateriell: Valhandbok Røysting på valtinget  Utstyr.
Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Programmering i Python.
Geometri. Det vakre… Kva er vakkert? – Det kjem an på auget som ser…eller…er det nokre reglar? – Vi ser alle om eit ansikt er for langt eller kort, om.
Å skrive sin mening Fempunktsmetoden.
Å skrive meininga si Fempunktsmetoden. Skriv fem setningar: Fortel kva emne du vil skrive om. Skriv tre setningar om dette emnet. Skriv ei setning som.
Lær lettare Studieteknikk for meir effektiv læring.
Iterator i Java boolean hasNext() E next() void remove()
TDT4105 Informasjonsteknologi, grunnkurs
Øvingsforelesning i Python (TDT4110)
Omgrepssamling 1. og 2. trinn
Logiske funksjonar og grunnleggjande programmering
4 forskjellige måter å løse 2-grad likning
Samarbeid Forslag til spørsmål -Hva er samarbeid, og hva er vitsen?
INFO231 – Programutvikling
Begynnerkurs i Python Realfagskonferansen 2019 Henrik H. Løvold
Kapittel 5 oppgave b Fra direkte til indirekte tale. Han sier at … 
Målsetninger som fungerer
For, While, prosedyrer m/ parametere, funskjoner
Utskrift av presentasjonen:

Kapittel 11 Rekursjon

11.1 Å tenke rekursivt Rekursjon er ein programmeringsteknikk der ein metode kallar seg sjølv for å fullføre ei oppgåve For å kunne skrive rekursive program må vi kunne tenke rekursivt Vi ser på definisjonen av ei kommaseparert liste To valg, eit er rekursivt, det andre ikkje Det ikkje-rekursive er nødvendig for å unngå uendeleg rekursjon Vi kallar det ikkje-rekursive for base case N! som eksempel på rekursjon i matematikk

11.2 Rekursiv programmering Program for å rekne ut summen av tala frå 1 til og med N Dette har vi ein enkel formel for, eller vi kan bruke ei løkke Vi bruker likevel rekursjon for å vise korleis det fungerer if – setning for å sjekke mot base case (1) I så fall er vi ferdige Viss ikkje base case er nådd: result = num + sum(num – 1); For kvart nytt kall må vi sørge for at vi nærmar oss base case, elles blir vi aldri ferdige Indirekte rekursjon

11.3 Bruk av rekursjon Vi bruker litt tid på å gå gjennom Maze – eksemplet for å traversere ein labyrint Towers of Hanoi – eksemplet for å finne ut når verda går under Godt eksempel på eksponensiell kompleksitet Ver obs på at rekursjon i enkelte tilfelle kan vere ein enkel og elegant måte å skrive svært lite effektiv kode på Fibonacci – tal Rekusjon vs tabell

11.4 Rekursjon i grafikk Tiled pictures og fractals viser eksempel på bruk av rekursjon i grafikk Kan gi gode visuelle effektar som det er vanskeleg å oppnå utan å bruke rekursjon Ved å bruke rekursjon klarer vi oss ofte med lite og enkel kode