funkcja wywołująca samą siebie jest znana jako funkcja rekurencyjna. Technika ta jest znana jako rekurencja.

Jak działa rekurencja?

void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}

rekurencja trwa, dopóki nie zostanie spełniony jakiś warunek, aby temu zapobiec.

aby zapobiec nieskończonej rekurencji, jeśli…Instrukcja else (lub podobne podejście) może być używana tam, gdzie jedna gałąź wywołuje rekurencyjne wywołanie, a druga nie.,

przykład: suma liczb naturalnych przy użyciu rekurencji

Wyjście

Enter a positive integer:3sum = 6

początkowo sum()jest wywoływana z funkcji main() z liczbą przekazaną jako argument.

Załóżmy, że wartość n wewnątrzsum() wynosi początkowo 3. Podczas następnego wywołania funkcji, 2 jest przekazywane do funkcji sum(). Proces ten trwa aż n jest równe 0.,

Gdy n jest równe 0, warunekif nie powiedzie się, a częśćelse jest wykonywana zwracając sumę liczb całkowitych ostatecznie do funkcjimain().

zalety i wady rekurencji

Rekurencja czyni program eleganckim. Jeśli jednak wydajność jest istotna, należy użyć pętli, ponieważ rekurencja jest zwykle znacznie wolniejsza.

biorąc to pod uwagę, rekurencja jest ważnym pojęciem. Jest często używany w strukturach danych i algorytmach., Na przykład, często używa się rekurencji w takich problemach jak trawersowanie drzewa.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *