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

Kluczowa różnica: W programowaniu rekurencję można wyjaśnić, biorąc pod uwagę funkcję rekursywną. Funkcja rekursywna to taka, która ponownie wywołuje się, aby powtórzyć kod. Z drugiej strony, iterację uzyskuje się za pomocą funkcji iteracyjnej, która wykonuje pętle, aby powtórzyć część kodu.

W programowaniu zarówno rekurencja, jak i iteracja są używane do uzyskania powtórzeń. Odnoszą się do procesu, który powtarza się wiele razy. Rekursja opiera się na podejściu, w którym coś odnosi się do siebie, dopóki warunek nie zostanie spełniony. Mówi się, że metoda jest rekursywna, jeśli może się nazywać bezpośrednio lub pośrednio -

void name ()

{

... Nazwa() ...

}

lub

void name ()

{

... gra() ...

}

void game () {

... Nazwa() ...

}

Aby uzyskać pomyślną rekursję, należy pamiętać, że każde wywołanie w procesie rekursji musi uprościć obliczenia. Rekursję osiąga się przez zdefiniowanie przypadku podstawowego.

int factorial (int N)

{

jeśli (N == 0) zwraca 1;

else return (N * silnia (N-1));

}

W tym przykładzie rekursja może być łatwo widoczna w instrukcji (N * silnia (N-1)), gdzie ponownie wywołuje funkcję silni. Rekurencja jest bardzo pomocna, ponieważ pomaga skrócić kod. Jednak rekursja jest nieco powolna w działaniu.

Iteracja oparta jest na pętlach. Te pętle odnoszą się do jawnych procesów iteracyjnych. Aby spełnić wymóg pętli, musi mieć pewne kryteria, które zatrzymają dalszą iterację. Jeśli jednak test warunkowania pętli nigdy nie stanie się fałszywy, wówczas w tym stanie wystąpienie nieskończonej pętli jest nieuniknione. W tym przykładzie silnia jest określana przy użyciu procesu iteracji -

funkcja funkcji (n)

{

pętla var, wynik;

wynik = 1;

for (loop = 1; loop <= n; loop ++)

{

wynik = wynik * pętla;

}

wynik zwrotu;

}

W tym przykładzie pętlę uzyskuje się za pomocą liczb całkowitych od 1 do n, a instrukcja pętli <= n jest używana jako kryterium zatrzymania dalszej pętli. Możemy zatem stwierdzić, że te same wyniki można osiągnąć, stosując rekursję i iterację. Jednak oba opierają się na podejściach, które są nieco inne. Każdy algorytm rekursywny można również zapisać za pomocą iteracji (pętli).

Porównanie rekurencji i iteracji:

Rekursja

Iteracja

Definicja

Rekursja odnosi się do funkcji rekursywnej, w której ponownie wywołuje się, aby powtórzyć kod.

Iterację uzyskuje się za pomocą funkcji iteracyjnej, która wykonuje pętle w celu powtórzenia części sekcji kodu.

Ważny punkt

Należy ustalić podstawowy przypadek

Konieczne jest określenie warunku zakończenia

Wydajność

Stosunkowo wolny

Stosunkowo szybko

Zużycie pamięci

Stosunkowo więcej

Stosunkowo mniej

Kod

Mniejszy

Dłużej

Nieskończone powtórzenia

Nieskończona rekurencja może spowodować awarię systemu

Nieskończone zapętlanie powoduje wielokrotne cykle procesora

Struktura

Wybór

Powtórzenie

Zmienne lokalne

Nie wymagane

wymagany

Zalecane

Podobne Artykuły

  • różnica pomiędzy: Różnica między SIM i Micro SIM

    Różnica między SIM i Micro SIM

    Kluczowa różnica: SIM (standard) i Micro SIM są takie same pod względem funkcjonalności. Jedyna różnica między nimi dotyczy ich wielkości. Karta micro SIM jest o prawie 52 procent mniejsza niż standardowa karta SIM. SIM oznacza moduł tożsamości subskrybenta lub moduł identyfikacji abonenta. Ta karta prz
  • różnica pomiędzy: Różnica między Alcatel One Touch Idol i Xolo Q800

    Różnica między Alcatel One Touch Idol i Xolo Q800

    Kluczowa różnica: Alcatel One Touch Idol jest oficjalnym mobilnym partnerem dla filmu Iron Man 3. Posiada 4, 7-calowy pojemnościowy ekran dotykowy IPS LCD z 16 milionami kolorów. Wyświetlacz ma rozdzielczość 540 x 960 pikseli. Telefon jest zasilany przez dwurdzeniowy 1 GHz MediaTek MTK 6577+ i 512 MB pamięci RAM. Xolo Q
  • różnica pomiędzy: Różnica między ułudą a halucynacją

    Różnica między ułudą a halucynacją

    Kluczowa różnica: Ułuda to stan, w którym osoba utrzymuje wiarę, nawet jeśli mocne dowody sugerują inaczej. Halucynacje to postrzeganie, które zachodzi w przypadku braku bodźca. Są to percepcje, które zachodzą w stanie świadomości w braku zewnętrznych bodźców i mają cechy prawdziwej percepcji, co oznacza, że ​​są żywe i znaczące. W życiu człowieka istnie
  • różnica pomiędzy: Różnica między wyświetlaczem Retina i zwykłym wyświetlaczem

    Różnica między wyświetlaczem Retina i zwykłym wyświetlaczem

    Kluczowa różnica: Wyświetlacz Retina marki opisuje rodzaj ekranu LCD, który ma wyższą rozdzielczość niż w poprzednich modelach. Mówiąc ogólnie, wyświetlacz Retina może mieć rozdzielczość około 300 pikseli. Z drugiej strony, zwykły wyświetlacz jest bardzo zróżnicowany i może mieć wyższą lub niższą rozdzielczość w zależności od marki i typu. Wiele osób uważa, że ​​wyświet
  • różnica pomiędzy: Różnica między Rishi i Muni

    Różnica między Rishi i Muni

    Kluczowa różnica: Muni to osoba, która robi introspekcję lub jest rozważna. Zasadniczo muni jest jak filozof, który myśli o tym, jak i dlaczego rzeczy są takie, jakie są. Rishi to ktoś, kto jest ogólnie uważany za znajdującego się na wyższej płaszczyźnie uczenia się i zrozumienia dzięki setkom lat tapas lub medytacji. Vedy są rzekomo ź
  • różnica pomiędzy: Różnica między prawem zwyczajowym i konstytucyjnym

    Różnica między prawem zwyczajowym i konstytucyjnym

    Kluczowa różnica: Common Laws to ustawy, które wprowadzono w życie na podstawie orzeczeń sądowych. Przepisy te są opracowywane na podstawie orzeczeń wydanych w starszych sprawach sądowych. Prawo konstytucyjne jest zbiorem prawnym, który określa relacje między różnymi podmiotami w obrębie narodu, najczęściej organami sądowniczymi, wykonawczymi i ustawodawczymi. Prawa odgrywają
  • różnica pomiędzy: Różnica między Moonshine i Whiskey

    Różnica między Moonshine i Whiskey

    Kluczowa różnica: Bimber to każdy rodzaj alkoholu, który jest produkowany nielegalnie. Wytwarzany alkohol był najczęściej whisky lub rumem. Whisky to rodzaj destylowanego napoju alkoholowego wykonanego z dowolnej formy zacieru z ziarna sfermentowanego. Moonshine i whisky różnią się od siebie wyglądem, smakiem, dowodem, smakiem i higieną. Bimber był
  • różnica pomiędzy: Różnica między empiryzmem a sceptycyzmem

    Różnica między empiryzmem a sceptycyzmem

    Kluczowa różnica: Empiryzm i sceptycyzm to dwie różne koncepcje, które mają przede wszystkim związek z wiarą. Empiryzm odnosi się do pojęcia, że ​​wiedza pochodzi wyłącznie lub głównie z doświadczenia zmysłowego. Sceptycyzm odnosi się do kogoś, kto wątpi w autentyczność lub prawdziwość czegoś. Empiryzm i sceptycyzm to dw
  • różnica pomiędzy: Różnica między FOR i WHILE Loop z przykładem

    Różnica między FOR i WHILE Loop z przykładem

    Kluczowa różnica: Pętla FOR jest często używana, gdy zwykle wiesz, ile razy chcesz program, co oznacza, że ​​będzie on uruchamiał ten program do czasu, aż zakończy się sam. Pętla WHILE działa w podobny sposób, ale wymaga instrukcji warunkowej. Zaletą pętli WHILE jest brak pewności, ile iteracji jest wymaganych do wykonania danego wyrażenia. Pętle są często w pr

Wybór Redakcji

Różnica między sympatycznymi i przywspółczulnymi

Kluczowa różnica: Głównym celem SNS jest aktywacja reakcji ciała w sytuacjach stresowych, w tym mechanizm walki lub ucieczki organizmu. Przywspółczulny układ nerwowy jest odpowiedzialny za pobudzanie czynności "odpoczynku i trawienia" lub "karmienia i rozmnażania", które występują, gdy ciało znajduje się w spoczynku. Zarówno współ