I_R_W14_M37_Java Algorytmy zachłanne
Czy wiesz, że za każdym razem, kiedy wrzucasz do automatu monety, płacąc za kawę czy paczkę paluszków, maszyna staje przed nie lada problemem? Podobnie jest w przypadku wypłaty pieniędzy z bankomatu. Nie myślimy o tym zazwyczaj, ale nasza rzeczywistość często porządkowana jest przez świat algorytmów.
Jednym z najprostszych sposobów podejmowania decyzji w takich sytuacjach jest zasada „wybieraj to, co teraz wygląda najlepiej”. To podejście nazywamy algorytmem zachłannym. Nie analizuje on wszystkich możliwych rozwiązań, nie planuje daleko w przyszłość - po prostu na każdym kroku sięga po najbardziej obiecującą opcję.
Zaskakujące jest to, jak często taka prosta strategia działa znakomicie. W wielu urządzeniach, programach i usługach właśnie dzięki niej decyzje podejmowane są szybko, sprawnie i bez zbędnych obliczeń. W tym rozdziale zobaczysz, kiedy „zachłanność” się opłaca, a kiedy prowadzi na manowce, oraz poznasz algorytmy, które dzięki tej prostej idei stały się fundamentem współczesnej informatyki.
Ćwiczenia na rozgrzewkę
Wyjaśnisz, czym charakteryzują się algorytmy zachłanne.
Przeanalizujesz zagadnienie algorytmiczne, jakim jest problem wydawania reszty.
Zastosujesz podejście zachłanne przy rozwiązaniu problemów.
Wskażesz ograniczenia metody zachłannej oraz wyjaśnisz, dlaczego algorytmy zachłanne nie zawsze znajdują najlepsze rozwiązanie dla danego problemu.