Коллекция фиксированного размера, которая хранит верхние (N) значения

Мой код обрабатывает огромное количество значений, и я ' Я ищу эффективную структуру для отслеживания верхних (N) значений, где N меньше 10, поэтому сбор ВСЕХ номеров, затем сортировка списка и взятие первого (N), вероятно, не самый эффективный способ.

Для этого я собираю коллекцию фиксированного размера N, чтобы верхние (N) значения были отсортированы в порядке убывания. Метод Add (T value) отсортированной коллекции добавит значение в коллекцию, если значение больше, чем любое из существующих значений (в этом случае последний элемент удаляется) или если коллекция не полный.

Мне удалось реализовать то, что я хотел, используя дважды LinkedList , поскольку он имеет быструю вставку и удаление, но мне было интересно, будет ли лучше использовать SortedDictionary или приоритетную очередь?

Спасибо.

5
задан Hadi 20 August 2010 в 15:53
поделиться