Spisu treści:
Definicja - Co oznacza pętla rekurencyjna?
Mówi się, że pętla rekurencyjna pojawiła się, gdy funkcja, moduł lub jednostka ciągle wywołuje siebie, tworząc w ten sposób prawie niekończącą się pętlę. Konstrukcje rekurencyjne są wykorzystywane w kilku algorytmach, takich jak algorytm stosowany do rozwiązania problemu z Wieży Hanoi. Większość języków programowania implementuje rekurencję, umożliwiając wywoływanie się funkcji.
Pętle rekurencyjne są również nazywane po prostu rekurencją.
Techopedia wyjaśnia pętlę rekurencyjną
Pętla rekurencyjna jest specjalnym rodzajem konstrukcji pętlowej, w której konkretna jednostka próbuje się wywołać z poziomu swojego kodu pętli. W ten sposób jednostka wywołuje siebie, dopóki nie zostanie określony określony warunek lub przerwa. Pętle rekurencyjne są zwykle implementowane za pomocą wywołania funkcji rekurencyjnej, w której wywołanie określonej funkcji jest umieszczone w samej definicji funkcji.
Języki programowania zdolne do implementowania pętli rekurencyjnych mogą rozwiązać problemy, które wymagają użycia struktur iteracyjnych, takich jak „while” i „for”, tylko za pomocą samych pętli rekurencyjnych. Zatem pętle rekurencyjne mogą zastąpić tradycyjne konstrukcje pętli i są czasami przydatne w tworzeniu mniej obszernego kodu. Upraszcza również kod i pomaga w rozbiciu złożonych kodów na proste instrukcje.
Niektóre z najczęstszych problematycznych zastosowań funkcji rekurencyjnych to Wieża Hanoi, obliczenia dla serii dla e = 1/0! +1/1! + 1/2 +…, obliczanie gcd, silnia i tak dalej.
Rekurencja jest również stosowana w przypadkach, gdy programista nie jest pewien dokładnego rozmiaru danych.
Rekurencję w informatyce można podzielić na następujące typy:
- Pojedyncza rekurencja
- Wielokrotna rekurencja
- Pośrednia rekurencja
- Anonimowa rekurencja
- Rekurencja strukturalna
- Rekurencja generatywna
Korzystanie z pętli rekurencyjnych może wpływać na wydajność programu. Pętle rekurencyjne wykorzystują stosy pamięci, a gdy stosy są pełne, pętla może zakończyć się przed zamierzonym czasem zakończenia.
