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 outsourcingiem a offshoringiem

    Różnica między outsourcingiem a offshoringiem

    Kluczowa różnica: Zarówno outsourcing, jak i offshoring dotyczą czynności wykonywanych na zewnątrz. Jeżeli praca wykonywana jest w ramach limitów krajowych przez stronę trzecią, jest określana jako outsourcing i jeśli działania są wykonywane w miejscu poza granicami krajowymi, tj. W obcym kraju (z udziałem lub bez udziału strony trzeciej), to jest określany jako offshoring. Outsourcing odn
  • różnica pomiędzy: Różnica między dyskiem SSD a dyskiem twardym

    Różnica między dyskiem SSD a dyskiem twardym

    Kluczowa różnica: dyski SSD wykorzystują pamięć flash, aby umożliwić użytkownikom przechowywanie danych. Dyski twarde są podobne do wewnętrznych dysków twardych przy użyciu taśm magnetycznych do przechowywania danych. Ze względu na boom technologiczny, prawie wszystko dzieje się na komputerze w tych dniach. Przy wciąż ro
  • różnica pomiędzy: Różnica między mutacją a wadą wrodzoną

    Różnica między mutacją a wadą wrodzoną

    Kluczowa różnica: Wada wrodzona jest stanem, który występuje po narodzinach dziecka. Może się zdarzyć w momencie porodu lub przed porodem w łonie matki. Mutacja jest rodzajem wady wrodzonej. Jest to zmiana w sekwencji DNA, która prowadzi do zmian w organizmie. Zarówno mutacja, jak i wada wrodzona są rzeczami, o których nie wolno myśleć rodzicom, a co dopiero zajmować się nimi. Niestety, na t
  • różnica pomiędzy: Różnica między stalą a stalą nierdzewną

    Różnica między stalą a stalą nierdzewną

    Kluczowa różnica: Stal jest stopem, co oznacza, że ​​powstaje poprzez mieszanie różnych różnych elementów. Podstawowym pierwiastkiem w stali jest żelazo. Stal nierdzewna jest specjalnym rodzajem stali. Ma wszystkie właściwości stali. Jednak jest również niekorozyjny, co w zasadzie oznacza, że ​​nie może rdzewieć. Stal jest popularnym ma
  • różnica pomiędzy: Różnica między dobrymi węglowodanami i złymi węglowodanami

    Różnica między dobrymi węglowodanami i złymi węglowodanami

    Kluczowa różnica: Węglowodany są pogrupowane w dwie kategorie naukowe: złożone węglowodany (dobre węglowodany) i proste węglowodany (złe węglowodany). Węglowodany różnią się procesem, w którym wchłaniają się w organizmie. Złe węglowodany szybko się wchłaniają, a wchłonięta energia powoduje wzrost poziomu cukru w ​​organizmie, podczas gdy dobre węglowodany są wchłaniane powoli, a włókno nie jest wchłaniane przez organizm, ale składniki odżywcze z włókna. Słowo "węglowodany" było osta
  • różnica pomiędzy: Różnica między Windows 8 Pro i Pro Pack

    Różnica między Windows 8 Pro i Pro Pack

    Kluczowa różnica: Windows 8 Pro jest podobny do Windows 7 Professional i jest przeznaczony dla entuzjastów i użytkowników biznesowych. Oferuje wszystkie funkcje systemu Windows 8 oraz dodatkowe funkcje dla właścicieli małych firm. Pakiet Microsoft 8 Pro nie jest oficjalną wersją, lecz pakietem uaktualnień. Ten pakie
  • różnica pomiędzy: Różnica między głównymi kierunkami a pośrednimi kierunkami

    Różnica między głównymi kierunkami a pośrednimi kierunkami

    Kluczowa różnica: Istnieją cztery główne kierunki: północna, wschodnia, południowa i zachodnia. Są one również znane jako punkty kardynalne. Kierunki pośrednie to kierunki leżące pomiędzy czterema głównymi kierunkami. Te pośrednie kierunki są również znane jako kierunki międzykręgowe lub porządkowe. Są one dalej klasyfiko
  • różnica pomiędzy: Różnica między guzem a torbielą

    Różnica między guzem a torbielą

    Kluczowa różnica: Guzy są nienaturalnymi grudkami lub wzrostem utworzonym przez dodatkowe komórki w ciele. Guz może być łagodny (nie nowotworowy), przedzłośliwy (przednowotworowy) lub złośliwy (rakowy). Z drugiej strony torbiel jest powszechną chorobą skóry występującą u ludzi. Torbiel jest zamkniętą torebką lub podobną do worka strukturą. Jest on zwykle wypeł
  • różnica pomiędzy: Różnica między numerem ABA a numerem routingu

    Różnica między numerem ABA a numerem routingu

    Kluczowa różnica: numer American Bankers Association (ABA) to numer identyfikacyjny, który pojawia się w prawym górnym rogu czeku w postaci ułamka. Numer służy do identyfikacji lokalizacji banku i banku kodu oraz obszaru i banku, w którym jest narysowany. Innym kodem, który jest obecny w teście, jest numer routingu ABA, zwany również Routing Transit Number (RTN). Jest to dzi

Wybór Redakcji

Różnica między poezją a prozą

Kluczowa różnica : Kluczową różnicą między poezją a prozą jest ich ustrukturalizowana forma pisania, w której poezja jest uważana za strukturę, a proza ​​jest bardziej naturalną formą pisania. W lingwistyce poezja i proza ​​to dwa sposoby klasyfikacji różnych stylów pism. Tutaj proza ​​jest językiem, który ma na celu dzielenie się informacjami, a poezja ma na celu wykorzystanie języka jako muzyki. Często zdarza się, że poezja i