Rekurencja jest metodą rozwiązywania problemów, która korzysta z rozwiązań innych problemów. Jej wyjątkowość polega na tym, że za „innymi problemami” kryje się problem właściwy, ale rozwiązywany dla innych rozmiarów tych samych danych. Przykładem może być obliczanie silni liczby. Żeby policzyć 56!, najpierw możemy wyliczyć 55!. Z kolei w celu ustalenia, ile wynosi 55!, można najpierw obliczyć 54! itd.
W e‑materiale RekurencjaRekurencja przedstawiliśmy podstawowe informacje dotyczące omawianego zagadnienia. Kolejnym krokiem będzie implementacja w wybranym języku programowania. Ten e‑materiał poświęcony jest implementacji w języku C++.
Więcej przykładów, ćwiczeń i rozwiązań znajdziesz w:
Rekurencja – ćwiczeniaRekurencja – ćwiczenia,
Rekurencja w zadaniachRekurencja 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 w języku JavaRekurencja w języku Java,
Rekurencja w języku PythonRekurencja w języku Python.
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.
Przeanalizujesz rekurencyjne podejście do algorytmu Euklidesa i poznasz zalety jego stosowania.
Wyjaśnisz, czym rekurencja różni się od iteracji.
Rozwiążesz kilka zadań z wykorzystaniem rekurencji.