Моя проблема не обычна. Представьте себе несколько миллиардов строк. Строки обычно составляют менее 15 символов. В этом списке мне нужно узнать количество уникальных элементов.
Прежде всего, какой объект мне использовать? Не следует забывать, добавляю ли я новый элемент, который я должен проверить, если он уже существует в списке. Это не проблема в начале, но после нескольких миллионов слов она может действительно замедлить процесс.
Вот почему я подумал, что Hashtable был бы идеальным для этой задачи, потому что проверка списка в идеале - только log (1). К сожалению, один объект в .net может быть всего 2 ГБ.
Следующим шагом будет реализация пользовательской хеш-таблицы, содержащей список из 2-х хэш-таблиц.
Мне интересно, может быть, некоторые из вас знают лучшее решение. (Компьютер имеет чрезвычайно высокую спецификацию.)