Różnice między rekurencją a iteracją

Rekursja i iteracja przyspieszają wykonanie programu.

Rekursja

Operacja rekursywna jest procesem, który jest powtarzany, dopóki nie zostanie osiągnięta ostateczna instrukcja z operacji. Najczęściej stosowaną techniką rekursywną w programowaniu komputerowym jest metoda zmniejszania problemu, od góry do dołu, dzięki czemu łatwiej jest uzyskać wersję samego problemu, dopóki nie zostanie osiągnięty podstawowy przypadek. Rozwiązanie podstawowego przypadku jest połączone z rozwiązaniem każdego z poprzednich problemów, aż do osiągnięcia pierwszego, w najbardziej skomplikowanym przypadku.

Iteracja

W programowaniu komputerowym operacją iteracyjną jest ta, która powtarza proces w określonej liczbie razy (iteracje), w zależności od parametrów zdefiniowanych przez programistę. Zwykle wynik jednej iteracji procesu jest używany jako punkt początkowy dla kolejnej iteracji. Każdy krok rozpoczyna następny etap. Proces trwa do momentu osiągnięcia określonego celu i zakończenia procesu.

Główna różnica

Najważniejszą różnicą między operacjami rekurencyjnymi i iteracyjnymi jest to, że kroki operacji iteracyjnej wykonywane są pojedynczo i bezpośrednio wykonywane bezpośrednio w następnym kroku. W operacji rekurencyjnej każdy krok po pierwszym kroku jest repliką poprzedniego kroku. Ponadto od góry do dołu każdy krok jest trochę łatwiejszy niż ten, który jest "na wierzchu". Pod koniec operacji wszystkie rozwiązania są łączone, aby rozwiązać problem.

Przykłady

Typowym przykładem operacji kursywnej jest silnia. Faktor liczby jest iloczynem dodatnich liczb całkowitych mniejszych lub równych tej liczbie. Rozwiązanie tego problemu rekurencyjnie wymaga pomnożenia początkowej liczby przez siebie minus 1. Wyrażenie rekursywne to n (n - 1), gdzie n jest początkową liczbą. Każdy krok jest trochę łatwiejszy niż w poprzednim kroku. Operacja kończy się, gdy n zostanie zredukowane do 1. Przykładem iteracji jest znalezienie sumy zbioru liczb. Iteracyjne wyrażenie to (n + (n + 1)), gdzie n jest początkową liczbą. Każdy krok rozpoczyna się od rozwiązania z poprzedniego kroku. Operacja kończy się, gdy n osiągnie żądaną liczbę.