В этот более ранний вопрос OP запросил структуру данных, аналогичную стеку, поддерживающему следующие операции за O (1) раз каждая:
Несколько минут назад я обнаружил этот связанный вопрос с просьбой пояснить аналогичную структуру данных, которая вместо того, чтобы разрешить max и min для запроса, позволяет запрашивать средний элемент стека. Эти две структуры данных кажутся частным случаем более общей структуры данных, поддерживающей следующие операции:
Можно поддерживать все эти операции, сохраняя стек и сбалансированное двоичное дерево поиска, содержащее верхние k элементов, что позволило бы всем этим операциям выполняться за время O (log k). У меня такой вопрос: можно ли реализовать вышеуказанную структуру данных быстрее, чем эта? То есть можем ли мы получить O (1) для всех трех операций? Или, возможно, O (1) для push и pop и O (log k) для поиска статистики заказа?