У меня есть одна коллекция элементов, которые требуют периодического обновления. Пункты имеют вес в том, что некоторые должны обслуживаться чаще, чем другие. Однако я должен обслуживать все элементы в течение определенного времени (т. е. я не хочу, чтобы были элементы, которые никогда не будут обработаны).
Если бы все элементы имели одинаковый вес, было бы достаточно простого FIFO. Но более приоритетные должны иметь возможность включаться, поэтому я считаю, что указана приоритетная очередь. Вопрос в том, что определяет приоритет? Я полагаю, что это функция взвешивания и времени, прошедшего с момента последнего обслуживания. Но как определить форму этой функции, чтобы ни один элемент не остался внизу кучи?