Задача о составлении расписания

Дано расписание уроков со временем начала и временем окончания.

ПредметНачалоОкончание
Математика9:0010:30
Русский язык9:3010:30
Химия10:0011:00

Выберите как можно больше уроков так, чтобы их время не пересекалось. Вместо уроков могут быть любые временные промежутки.

Решение

Решение основано на принципе жадных алгоритмов. На каждой итерации выбираем отрезок времени с минимальным временем завершения. В конечном итоге это приводит к тому, что количество выбранных отрезков времени будет наибольшим.

Ссылки

Ссылки на эту заметку

Эта заметка на GitHub

Обсудить на форуме

Последниее изменение: