Жадный алгоритм не всегда оптимален для решения задач перебора, потому что он выбирает наилучший вариант из доступных, не учитывая влияние этого выбора на будущие шаги. proglib.io
Некоторые примеры, когда жадный алгоритм приводит к неоптимальному решению:
- Задача о рюкзаке с неразделимыми предметами. dzen.ru Если есть предметы с высокой стоимостью на единицу веса, но в рюкзаке есть место для более выгодной комбинации из менее «эффективных» предметов, жадный алгоритм может выбрать неверно. dzen.ru
- Задача о наилучшем расписании с минимальной просрочкой. dzen.ru Здесь каждый выбор влияет на дальнейшие, и необходимо учитывать глобальные последствия, чего жадные алгоритмы делать не умеют. dzen.ru
- Поиск кратчайшего пути в графе. sprintcode.pro При наличии отрицательных весов рёбер жадный подход (как в алгоритме Дейкстры) может не найти кратчайший путь. sprintcode.pro
Жадные алгоритмы подходят только для тех задач, где локально оптимальные решения гарантированно ведут к глобально оптимальным. proglib.io