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