Algorytmy

Rekurencja i iteracja na wesoło

Jeżeli chcecie profesjonalnego wytłumacznia to polecam artykuł Adama Boducha:
Rekurencja

A tu jest wierszyk który obrazuje zasadę rekurencji:

Wpadł pies do kuchni i porwał mięsa ćwierć
A jeden kucharz głupi, zarąbał go na śmierć
A drugi kucharz mądry, co serce i litość miał
Postawił mu nagrobek i taki napis dał:

  Wpadł pies do kuchni i porwał mięsa ćwierć
  A jeden kucharz głupi, zarąbał go na śmierć
  A drugi kucharz mądry, co serce i litość miał
  Postawił mu nagrobek i taki napis dał:

    Wpadł pies do kuchni i porwał mięsa ćwierć
    A jeden kucharz głupi, zarąbał go na śmierć
    A drugi kucharz mądry, co serce i litość miał
    Postawił mu nagrobek i taki napis dał:

      Wpadł pies ...

itd.

Ten natomiast jest wierszem iteracyjnym:

Na zielonej łączce 1, 2, 3
Pasły się zajączki 1, 2, 3
A to była pierwsza zwrotka
teraz będzie druga zwrotka.

Na zielonej łączce 1, 2, 3
Pasły się zajączki 1, 2, 3
A to była druga zwrotka
teraz będzie trzecia zwrotka:

Na zielonej łączce 1, 2, 3
Pasły się zajączki 1, 2, 3
A to była trzecia zwrotka
teraz będzie czwarta zwrotka:

Na zielonej ...

To jeszcze, żeby lekcja była pełna trzeba podać znaczenie:
- rekurencja od łac. recursio = powracanie. Funkcja wywołuje samą siebie (ewentualnie inną, która wywoła pierwszą funkcję), a potem wykonywanie programu wraca do pierwszej.
- iteracja od łac. iteratio = następowanie. Funkcja jest wywoływana dla kolejnych (następnych) elementów (mogą to być także proste instrukcje).

Lektura obowiązkowa dot. rekurencji:
"Księga tysiąca i jednej nocy". (Opowieść w opowieści w opowieści w opowieści ...)

6 komentarzy

fatalbomb 2010-06-27 20:47

"Konrad Wallenrod" to przykład jak bardzo rekurencja potrafi wk***ić, gdy trzeba zrozumieć jakiś tekst

makhan 2005-12-11 00:30

taak, a jak juz o stosie mowa, to male pytanko:
czasy sredniowiecza, pala czarownice na stosie
tlum gawiedzi, wszyscy czekaja, az czarownica zacznie wyc z bolu, a ta nagle krzyczy:
- wiecej drewna!!!!!!
wszyscy zdziwieni, o co jej chodzi, ale kobieta dlugo juz nie pociagnie, wypadaloby spelnic jej ostatnie zyczenie
no wiec dorzucaja jej drewna, ale ta nadal krzyczy: - wiecej drewna!!!
znowu dorzucili, ale ta ciagle chce tego samogo
teraz pytanie: dlaczego czarownica krzyczala \"wiecej drewna!\"????
.
.
.
.
.
.
.
.
chciala przepelnic stos :P

asmie 2003-05-16 21:59

Hehe, tekscik loox napisany.... moze wiecej takich opracowan dotyczacych programowania i nawet assemblera sie nauczymy na zasadzie rymowanki.. :) warte przemyslenia !
Pozdrawiam !

AndRew 2003-03-20 23:38

werw0e : no tak.. stos martwych psów..

Khobar 2003-01-05 22:02

Brawo! To jest to o co chodzi!
Prosto ,zwięźle , i wesoło.
Tylko przydały by się przykłady w kodzie np. C++..... :P

werw0e 2002-11-10 03:06

Niestety mam zle wiesci:(
To co jest tutaj napisane przepelni Ci stos nie uzywaj tego :P