Un algoritmo greedy è un algoritmo che cerca di ottenere una soluzione ottima da un punto di vista globale attraverso la scelta della soluzione più golosa (aggressiva o avida, a seconda della traduzione preferita del termine greedy dall’inglese) ad ogni passo locale. Questa tecnica consente, dove applicabile (infatti non sempre si arriva ad una soluzione ottima), di trovare soluzioni ottimali per determinati problemi in un tempo polinomiale (cfr. Problemi NP-Completi, cioè problemi di soluzione non deterministica polinomiale). – Wikipedia.it

Le tecniche Greedy permettono la costruzione della soluzione di un problema di ottimizzazione mediante una successione di passi, durante i quali viene sempre scelto l’elemento “localmente” migliore. Questo significa che la scelta migliore viene compiuta in ambito limitato, senza controllare che il procedimento complessivo porti effettivamente al calcolo di una soluzione ottimale.Per questo, le tecniche greedy non sempre portano alla costruzione di una soluzione ottimale.