INF.04 · pytanie 647
Który z podanych algorytmów można zrealizować zarówno w sposób iteracyjny, jak i rekurencyjny?
- AAlgorytm generowania liczb losowych
- BAlgorytm mapowania kluczy w tablicach asocjacyjnych
- CAlgorytm wyszukiwania binarnegoPoprawna
- 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.