Egzamin zawodowyPortal części pisemnej

INF.04 · pytanie 647

Który z podanych algorytmów można zrealizować zarówno w sposób iteracyjny, jak i rekurencyjny?

  1. AAlgorytm generowania liczb losowych
  2. BAlgorytm mapowania kluczy w tablicach asocjacyjnych
  3. CAlgorytm wyszukiwania binarnegoPoprawna
  4. DAlgorytm sortowania bąbelkowego

Wyjaśnienie

Algorytm wyszukiwania binarnego może być zaimplementowany zarówno iteracyjnie, jak i rekurencyjnie. Wyszukiwanie binarne polega na podzieleniu przeszukiwanej tablicy na dwie części i porównaniu elementu środkowego z wartością, której szukamy. Jeśli element nie zostanie znaleziony, algorytm przeszukuje jedną z połówek tablicy. Rekurencyjna wersja tego algorytmu jest często bardziej elegancka i prostsza w implementacji, natomiast iteracyjna bywa bardziej wydajna pod względem zużycia pamięci.