Sobes.tech
Назад к вопросам
Junior — Middle
124

Какую структуру данных предпочтительнее использовать для быстрого извлечения максимального элемента при редких вставках?

Компании, где спрашивали
Т-БанкТ-Банк

Ответ от нейросети

sobes.tech AI

Для задачи быстрого извлечения максимального элемента при редких вставках предпочтительнее использовать структуру данных Max-Heap (максимальная куча).

Пояснение:

  • Вставка в кучу занимает O(log n) времени.
  • Извлечение максимума — O(1) для доступа к корню и O(log n) для удаления.

Если вставки действительно редкие, а извлечения максимума частые, то Max-Heap обеспечивает хороший баланс между скоростью вставки и быстрым доступом к максимуму.

В Java можно использовать PriorityQueue с компаратором для максимума:

PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder());

// Вставка
maxHeap.offer(10);
maxHeap.offer(5);

// Получение максимума
int max = maxHeap.peek();