Na czym polega zasada działania algorytmów zachłannych?
A. na przeszukiwaniu danych aż do znalezienia rozwiązania
Źle. To opis przeszukiwania (np. siłowego), nie strategii zachłannej.
B. na dzieleniu problemu na mniejsze podproblemy
Źle. To opis metody „dziel i zwyciężaj”.
C. na wybieraniu rozwiązania najkorzystniejszego na danym etapie
Dobrze. Algorytm zachłanny w każdym kroku wybiera lokalnie najlepszą opcję.
D. na odwoływaniu się funkcji do samej siebie
Źle. To opis rekurencji.
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.