Na czym polega zasada działania algorytmów zachłannych?
A. na odwoływaniu się funkcji do samej siebie
Źle. To opis rekurencji.
B. na wybieraniu rozwiązania najkorzystniejszego na danym etapie
Dobrze. Algorytm zachłanny w każdym kroku wybiera lokalnie najlepszą opcję.
C. na dzieleniu problemu na mniejsze podproblemy
Źle. To opis metody „dziel i zwyciężaj”.
D. na przeszukiwaniu danych aż do znalezienia rozwiązania
Źle. To opis przeszukiwania (np. siłowego), nie strategii zachłannej.
Algorytm zachłanny (greedy) buduje rozwiązanie krok po kroku, w każdym etapie wybierając opcję, która w danym momencie wydaje się najkorzystniejsza (lokalnie optymalna), bez cofania wcześniejszych decyzji. Jest prosty i szybki, a dla niektórych problemów daje rozwiązanie optymalne (np. wydawanie reszty pewnymi zestawami monet, algorytm Dijkstry, kod Huffmana). Bywa jednak, że lokalnie najlepszy wybór nie prowadzi do globalnie najlepszego wyniku. Dlatego zasada zachłanna to wybieranie najkorzystniejszej opcji na danym etapie.
Pozostałe odpowiedzi opisują inne podejścia. Przeszukiwanie danych aż do znalezienia rozwiązania to strategia przeglądania (np. siłowego), a nie zachłanna. Dzielenie problemu na mniejsze podproblemy to technika „dziel i zwyciężaj”, w której wyniki podproblemów się scala. Odwoływanie się funkcji do samej siebie to rekurencja - sposób implementacji, a nie strategia wyboru. Algorytm zachłanny w każdym kroku wybiera lokalnie najlepszą opcję, dlatego ta odpowiedź jest poprawna.