INF.04 · pytanie 25
W jakich sytuacjach zastosowanie rekurencji może być bardziej korzystne niż użycie iteracji?
- AKiedy liczba iteracji przewyższa maksymalny zakres zmiennej licznikowej
- BGdy kod źródłowy ma być zoptymalizowany dla starszych kompilatorów
- CKiedy program jest uruchamiany w środowisku wielowątkowym
- DGdy algorytm wymaga naturalnego podziału na mniejsze podproblemyPoprawna
Wyjaśnienie
Rekurencja jest bardziej efektywna od iteracji, gdy algorytm można naturalnie podzielić na mniejsze podproblemy. Przykładami są algorytmy podziału i zwycięzcy (divide and conquer), takie jak wyszukiwanie binarne, sortowanie szybkie (quick sort) czy obliczanie wartości liczb Fibonacciego. Rekurencja pozwala na bardziej eleganckie i przejrzyste rozwiązanie problemów, które mają strukturę rekurencyjną. W takich przypadkach kod jest krótszy i bardziej czytelny, co ułatwia jego konserwację i rozwój.