Skillnad mellan versioner av "1.10 Rekursion"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 19: | Rad 19: | ||
Rekursion är ett koncept som används i problemlösning genom <b><span style="color:red">successiv upprepning</span></b>. | Rekursion är ett koncept som används i problemlösning genom <b><span style="color:red">successiv upprepning</span></b>. | ||
+ | |||
+ | |||
+ | Hittills har vi realiserat detta i programmering med loopar. Rekursion erätter loopar. | ||
</big></big> | </big></big> | ||
</div> | </div> |
Versionen från 17 december 2020 kl. 14.29
<< Lektion 16 | Genomgång | Övningar |
Vad är rekursion?
Ordet rekursion kommer från det latinska recurrere som betyder att köra igen. Dvs:
Man återvänder till något som man redan gjort en gång och upprepar ett känt förlopp,
kanske under andra förutsättningar.
Rekursion är ett koncept som används i problemlösning genom successiv upprepning.
Hittills har vi realiserat detta i programmering med loopar. Rekursion erätter loopar.
Exempel på en rekursiv algoritm
Algoritmen Intervallhalvering
Optimal strategi för att med så få försök som möjligt gissa rätt i Gissa tal-spelet.
Körexempel på Gissa tal-spelet där algoritmen Intervallhalvering använts:
Fibonacciproblemet och Fibonaccitalen
Kaniners fortplantning
Följer man Fibonaccis instruktioner för kaniners fortplantning får man följande siffror:
Fibonaccitalen
Mönster för bildningen av Fibonaccis talföljd, kallad kort Fibonaccitalen:
Summan av av två på varandra följande fibonaccital ger nästa fibonaccital.
Fibonaccis rekursionsformel
Programmet Fibonacci
I Python kan Fibonaccis rekursionsformel kodas som en rekursiv funktion fib().
En funktion kallas för rekursiv om den anropar sig själv i sin egen definition.
Funktionen fib() anropar sig själv två gånger i sin definition på rad 9: rekursiva anrop!
Anropet på rad 14 är ett vanligt (inte rekursivt) funktionsanrop i huvudprogrammet.
Körresultat
Läs om rekursion i kursboken på sid 98-100.
Copyright © 2020 TechPages AB. All Rights Reserved.