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 pomocą a pomocą

    Różnica między pomocą a pomocą

    Kluczowa różnica: niektórzy mistrzowie słów twierdzą również, że pomoc jest często używana, gdy jest potrzebna, a przysługi są czymś, co nie jest potrzebne, ale zamiast tego po prostu ułatwia życie. Ludzie twierdzą, że pomoc i przysługa mogą oznaczać to samo - zapewnienie pomocy. Jednak oba terminy
  • różnica pomiędzy: Różnice między szkołami publicznymi, prywatnymi i czarterowymi

    Różnice między szkołami publicznymi, prywatnymi i czarterowymi

    Kluczowa różnica: szkoły publiczne to szkoły tworzone przez rząd i finansowane z podatków publicznych. Szkoły prywatne są zakładane przez prywatne instytucje, które nie przestrzegają rządowych ograniczeń. Szkoły czarterowe oferują idealną hybrydę pomiędzy szkołami publicznymi i szkołami prywatnymi. W pewnym momencie
  • różnica pomiędzy: Różnica między kapitałem własnym a udziałem

    Różnica między kapitałem własnym a udziałem

    Kluczowa różnica: Termin equity odnosi się do wartości firmy lub składnika aktywów, po spłaceniu zobowiązań. Kapitał stanowi również formę inwestycji, a także sposób na zwiększenie kapitału w przedsiębiorstwie. Akcje stanowią istotną część kapitału własnego i finansowania. Termin "akcje" odnosi się do zdolności spółki do dzielenia się jej własnością w celu pozyskania kapitału. Akcje i udziały to dwa słowa, kt
  • różnica pomiędzy: Różnica między Samsung Galaxy Tab 3 7.0 i Samsung Galaxy S4

    Różnica między Samsung Galaxy Tab 3 7.0 i Samsung Galaxy S4

    Kluczowa różnica: Samsung Galaxy Tab 3 7.0 ma 7-calowy ekran dotykowy TFT WSVGA i ma wymiary 188 x 111, 1 x 9, 9 mm, dzięki czemu urządzenie jest cieńsze w porównaniu do poprzedniego tabletu. Tablet jest rzeczywiście ukierunkowany na dolny zakres. Samsung Galaxy S4 jest następcą bardzo popularnego Samsunga Galaxy S3. Firma o
  • różnica pomiędzy: Różnica między Sony Xperia J i Sony Xperia P

    Różnica między Sony Xperia J i Sony Xperia P

    Główna różnica: Xperia J została ogłoszona w październiku 2012 roku jako tańsza odmiana Xperii T, w wyniku czego telefon ma podobny wygląd do T. Xperia J ma 4-calowy odporny na zarysowania ekran dotykowy TFT, który oferuje gęstość pikseli 245. Sony Xperia P wyposażono w 4-calowy ekran dotykowy TFT, który pozwala na 4-dotykowe możliwości. Ekran jest odpo
  • różnica pomiędzy: Różnica między Dell XPS 10 i Asus Padfone Infinity

    Różnica między Dell XPS 10 i Asus Padfone Infinity

    Kluczowa różnica: Dell XPS 10 to 10, 1-calowy tablet, który jest wyposażony w klawiaturę dokującą, która zmieści się w laptopie. Ekran jest wielodotykowym ekranem pojemnościowym HD Display o rozdzielczości 1366 x 768 pikseli i gęstości w przybliżeniu 155 ppi. Elegancki tablet ma metalową podstawę i gumową oparcie dla lepszego trzymania. Smartfon Asus Pa
  • różnica pomiędzy: Różnica między bankowością mobilną a bankowością internetową

    Różnica między bankowością mobilną a bankowością internetową

    Kluczowa różnica: Podstawową różnicą między bankowością mobilną a bankowością internetową jest to, że bankowość mobilna jest dostępna za pośrednictwem aplikacji na smartfonie, podczas gdy bankowość internetowa jest dostępna poprzez przeglądanie, zazwyczaj na komputerze. W dzisiejszej erze cyfrowej ludzie są przyzwyczajeni do posiadania wszystkich informacji na wyciągnięcie ręki. Mogą oni nie tylko uzysk
  • różnica pomiędzy: Różnica między NPD a HPD

    Różnica między NPD a HPD

    Kluczowa różnica: narcystyczne zaburzenie osobowości (NPD) to zaburzenie medyczne, w którym ludzie wykazują niestabilne i intensywne emocje. Pacjent odczuwa zawyżone poczucie własnej ważności i wyższości w porównaniu do innych. Histrionic Personality Disorder (HPD) to zaburzenie psychiczne, w którym ludzie są bardziej wrażliwi emocjonalnie i wymagają stałej akceptacji ze strony rówieśników. Są one również zwi
  • różnica pomiędzy: Różnica między profesjonalistą i amatorem

    Różnica między profesjonalistą i amatorem

    Kluczowa różnica: Podstawową różnicą pomiędzy zawodowcem a amatorem jest różnica w procesie myślenia, zachowaniu, nastawieniu i podejściu do życia. Inną kluczową różnicą jest płatność za pracę, a także ich wykształcenie i kwalifikacje edukacyjne. Profesjonalny: Zawodowiec jest zdefiniowany jako: 1) Dotyczące lub należące do zawodu. 2) Godny lub odpowiedni

Wybór Redakcji

Różnica między samochodami hybrydowymi a samochodami elektrycznymi

Kluczowa różnica: samochody hybrydowe to samochody napędzane silnikiem hybrydowym, które są silnikami, które korzystają z dwóch lub więcej różnych źródeł zasilania. W większości przypadków te dwa źródła zasilania to benzyna / benzyna i energia elektryczna. Podobnie, samochody elektryczne to samochody napędzane silnikiem elektrycznym. Te samochody działa