Я кодировал небольшую поисковую систему и вам нужно выяснить, есть ли более быстрый способ найти множество пересечений. В настоящее время я использую сортированный связанный список, как описано в большинстве алгоритмов поисковой системы. i.e для каждого слова у меня есть список документов, отсортированных по списку, а затем найдите пересечение между списками.Есть ли лучший способ найти множество пересечений для поискового кода?
Профилирование производительности корпуса here. Любые другие идеи для более быстрого набора пересечений?
Вы можете начать с бинарного поиска, избегая линейного шага при начале. (это может быть распространено на перекрывающуюся часть, по методу «охоты»). BTW: связанный список не является лучшим представлением для больших отсортированных множеств. Вы можете попробовать массивы. – wildplasser
Бинарный поиск - хорошая идея. Он будет defenitely помочь пропустить, если введено. то массив Vs List действительно имеет значение, если список/массив изменяется только при обновлении поисковых структур данных? большое спасибо –