Какова правильная структура данных для очереди, поддерживающей операции Enque, Dequeue, Peak, Min и Max и выполняющая все эти операции в течение O (1).
Наиболее очевидной структурой данных является связанный список, но Min, Max операций будет O (n). Priority Queue - еще один отличный выбор, но Enqueue, Dequeue должен работать обычным образом в очереди. (FIFO)
И еще один вариант, который приходит на ум - это куча, но я не могу понять, как можно создать очередь с помощью операции Min, Max с помощью Heaps.
Любая помощь очень ценится.