Egzamin zawodowyPortal części pisemnej

INF.04 · pytanie 25

W jakich sytuacjach zastosowanie rekurencji może być bardziej korzystne niż użycie iteracji?

  1. AKiedy liczba iteracji przewyższa maksymalny zakres zmiennej licznikowej
  2. BGdy kod źródłowy ma być zoptymalizowany dla starszych kompilatorów
  3. CKiedy program jest uruchamiany w środowisku wielowątkowym
  4. 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.