Сортировка хеш-таблицы (карта, словарь) дизайн структуры данных

Вот's описание структуры данных:

Он работает как обычная карта с,getput, а такжеremove методы, но имеетsort метод, который можно вызвать для сортировки карты. Тем не менее, картапомнит его отсортированная структура, поэтому последующие вызовы sort могут быть намного быстрее (если структура неСлишком много между вызовамиsort).

Например:

Я звонюput метод 1 000 000 раз.

Я звонюsort метод.

Я звонюput Способ еще 100 раз.

Я звонюsort метод.

Второй раз я звонюsort метод должен быть гораздо быстрее, так как картаструктура не имеетт сильно изменился. Обратите внимание, что карта ненеобходимо поддерживать отсортированный порядок между вызовами.sort

Я понимаю, что это может быть невозможно, но ям в надежде на O (1),getput, а такжеremove операции. Что-то вродеTreeMap обеспечивает гарантированные затраты времени O (log (n)) для этих операций, но всегда поддерживает отсортированный порядок (нетsort метод).

И что'дизайн этой структуры данных?

Редактировать 1 - возвращение записей топ-К

Хотя яМне нравится слушать ответ на общий случай выше, мой вариант использования стал более конкретным: я нене нужно все сортировать; только верхние элементы K

Структура данных для эффективного возврататоп-К записи хеш-таблицы (карта, словарь)

Спасибо!

Ответы на вопрос(6)

Ваш ответ на вопрос