Я столкнулся с этим вопросом: Реализация очереди, в которой push_rear(), pop_front() и get_min() - все операции с постоянным временем.
Первоначально я думал об использовании структуры данных с мини-кучей, которая имеет сложность O (1) для get_min(). Но push_rear() и pop_front() были бы O (log (n)).
Кто-нибудь знает, какой был бы лучший способ реализовать такую очередь, которая имеет O (1) push(), pop() и min()?
Я искал эту информацию и хотел указать на этот поток алгоритмов Geeks. Но кажется, что ни одно из решений не соответствует правилу постоянного времени для всех трех методов: push(), pop() и min().
Спасибо за все предложения.