Wiesz już, czym różni się iteracja od rekurencji. Przy rozwiązywaniu wielu problemów, mogą być stosowane zamiennie.
Bywa jednak, że rekurencja błędnie używana jest przy rozwiązywaniu problemów, które nie mają rekurencyjnego charakteru. Zrozumienie wad i zalet rekurencji wymaga umiejętności tworzenia algorytmów w sposób rekurencyjny, dlatego warto przećwiczyć rozwiązywanie problemów zarówno za pomocą rekurencji, jak i iteracji.
W tym e‑materiale porównasz metodę iteracyjną oraz rekurencyjną i poznasz wady oraz zalety każdej z nich.
Więcej przykładów, ćwiczeń i rozwiązań znajdziesz w Rekurencja a iteracja w zadaniachRekurencja a iteracja w zadaniach.
Ciekawi cię, jak wyglądają implementacje w innych językach programowania? Możesz się z nimi zapoznać w dwóch pozostałych e‑materiałach z tej serii:
Rekurencja a iteracja w języku JavaRekurencja a iteracja w języku Java,
Rekurencja a iteracja w języku C++Rekurencja a iteracja w języku C++.
O tym, jak zagadnienie rekurencji wyjaśnia matematyka, przeczytasz w e‑materiałach:
Ciąg określony rekurencyjnieCiąg określony rekurencyjnie,
Ciąg geometryczny określony rekurencyjnieCiąg geometryczny określony rekurencyjnie,
Wzór ogólny ciągu określonego rekurencyjnieWzór ogólny ciągu określonego rekurencyjnie,
Ciąg arytmetyczny określony wzorem rekurencyjnymCiąg arytmetyczny określony wzorem rekurencyjnym.
Zapiszesz algorytm pozwalający obliczyć silnię z wykorzystaniem metody iteracyjnej.
Przeanalizujesz algorytm wykorzystywany do obliczania silni za pomocą metody rekurencyjnej.
Prześledzisz ograniczenia wykonywania funkcji rekurencyjnych w języku Python.