Sobes.tech
Junior — Middle
162

Koja struktura podataka je poželjna za brzo izvlačenje maksimalnog elementa pri retkim umetanjima?

Компаније где су питане
Т-БанкТ-Банк

Одговор од АИ

sobes.tech АИ

Для задачи быстрого извлечения максимального элемента при редких вставках предпочтительнее использовать структуру данных 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();