Здравствуйте, Аноним, Вы писали:
А>Добрый день.
А>Встала задача реализовать очередь с приоритетами своеобразного типа: чем выше приоритет — тем чаще вызывается операция.
А>Пример:
А>Допустим существует пять операций и 10 диапазонный приоритет:
А>Операция 1 — 10 приоритет А>Операция 2 — 8 приоритет А>Операция 3 — 6 приоритет А>Операция 4 — 5 приоритет А>Операция 5 — 2 приоритет
А>В кассу должны подходить люди чаще с высоким приоритетом операции — но и иногда пропускать операции с низкими приоритетами. А>Подскажите алгоритм более подходящий для живой очереди в кассу.
На сколько я понял из контекста, если идет выполнение операции, ее нельзя отменить и переключится на другую. Так? Тогда может подойти вероятностная модель.
Т.е.
Операция 1 — вероятность 10/31
Операция 2 — вероятность 8/31
Операция 3 — вероятность 6/31
Операция 4 — вероятность 5/31
Операция 5 — вероятность 2/31
Бросаем "кубик" и выбираем операцию для выполнения.
Получим что первая операция будет выполняться приблизительно каждый третий раз. А иногда будет выполняться и пятая операция.