Sobes.tech
Junior — Middle
159

Аз енгізулермен ең үлкен элементті тез алуға қай деректер құрылымы ыңғайлы?

Сұралған компаниялар
Т-БанкТ-Банк

AI-дан жауап

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();