Co sprawia, że rekursja jest myląca? Głównym powodem jest to, że patrzymy na tę samą funkcję z różnymi wartościami zmiennych lokalnych . Bardzo ważne jest upewnienie się, które dane wejściowe są aktualnie używane podczas analizowania funkcji rekurencyjnej funkcji rekurencyjnej Funkcje μ-rekurencyjne (lub ogólne funkcje rekurencyjne) są funkcjami częściowymi, które pobierają skończone krotki liczb naturalnych i zwracają pojedyncza liczba naturalna. Są to najmniejsza klasa funkcji częściowych, która zawiera funkcje początkowe i jest zamknięta pod składem, rekurencją pierwotną i operatorem μ. https://en.wikipedia.org › wiki › General_recursive_function
Ogólna funkcja rekurencyjna – Wikipedia
Czy trudno się nauczyć rekurencji?
Ale jest jeszcze inna bardzo potężna struktura kontrolna: rekurencja. Rekurencja jest jednym z najważniejszych pomysłów w informatyce, ale zwykle jest postrzegana jako jedna z trudniejszych do zrozumienia części programowania. Książki często wprowadzają go znacznie później niż iteracyjne struktury kontrolne.
Dlaczego rekursja nie jest dobra?
Zły. W imperatywnych językach programowania w większości przypadków należy unikać funkcji rekursywnych (proszę nie nienawidzić maili o tym, że nie jest to prawdą w 100% przypadków). Funkcje rekurencyjne są mniej wydajne niż ich iteracyjne odpowiedniki. Dodatkowo są narażone na ryzyko przepełnienia stosu.
Na czym polega problem z rekurencją?
Rekurencja jesttechnika algorytmiczna, w której funkcja, aby wykonać zadanie, wywołuje się z pewną częścią zadania. Funkcja rekurencyjna wywołuje prostszą wersję problemu, próbując uprościć problem do punktu, w którym można go rozwiązać.
Dlaczego rekurencja jest tak potężna?
Dzięki rekursji zyskujesz również dodatkową korzyść, którą inni programiści mogą łatwiej zrozumieć Twój kod – co zawsze jest dobrą rzeczą. Ściśle mówiąc, rekurencja i iteracja są równie potężne. Każde rozwiązanie rekurencyjne można zaimplementować jako rozwiązanie iteracyjne ze stosem.