Rekrurencja

Rekurencja to technika programowania, w której funkcja wywołuje samą siebie.

Kluczowym aspektem rekurencji jest “warunek zakończenia” – specjalny przypadek, w którym funkcja przestaje się wywoływać. Bez tego, możemy wprowadzić program w nieskończoną pętlę.

function przykładowaRekurencja(n) {
	if (n <= 0) {
		console.log('Koniec rekurencji');
		return;
	}

	console.log(n);
	przykładowaRekurencja(n - 1); // Wywołanie rekurencyjne. Funkcja wywołuje samą siebie.
}

W tym przykładzie, jeśli n jest mniejsze lub równe zero, funkcja przestaje się wywoływać.

Pisanie funkcji rekurencyjnych

Tworzenie funkcji rekurencyjnej wymaga zrozumienia, jak rozbić problem na mniejsze części, które można rozwiązać w ten sam sposób.

Krok po Kroku

  1. Zdefiniuj warunek zakończenia: To zapobiega nieskończonym pętlom.
  2. Podziel problem: Znajdź sposób, aby podzielić jeden problem na kilka mniejszych, które łatwiej rozwiązać.
  3. Wywołaj funkcję rekurencyjnie: Z nowymi, mniejszymi problemami jako parametrami.

Przykład: Obliczanie silni n!:

function silnia(n) {
	if (n === 0) {
		return 1;
	}

	return n * silnia(n - 1);
}

W tym przykładzie, warunkiem zakończenia jest n === 0. Dla każdego innego przypadku, funkcja wywołuje samą siebie z parametrem n - 1.

Unikanie nieskończonych pętli

Nieskończona pętla rekurencyjna może spowodować, że przeglądarka przestanie odpowiadać. Aby tego uniknąć, zawsze upewnij się, że:

  • Masz dobrze zdefiniowany warunek zakończenia.
  • Parametry przekazywane w rekurencji zmierzają do warunku zakończenia.

Masz pytania lub uwagi?

discord icon Przejdź na Discord
Masz pytanie? Napisz do nas 👇
kontakt@frontstack.pl
Copyright © 2023 Frontstack