Поисковая система
Какой алгоритм использовать при написании поисковой системы?
Какой алгоритм использовать при написании поисковой системы?
Что должна искать поисковая система? Если текст, то Вам нужно построить так называемый обратный индекс, который, грубо говоря, каждому слову ставит в соответствие набор документов, где это слово встретилось. Для индекса часто используют B-деревья и их модификации, так как они приспособлены к тому, чтобы хранить данные индекса на дисках.
Но обратный индекс уже есть в PostgreSQL, и в Lucene.
Если требуется искать что-то очень многомерное (например, картинки или супер интеллектуально искать тот же текст), то у Вас ничего не получится (шутка), но можно посмотреть K-d деревья или учиться, учиться, и ещё раз учиться :), и ещё что-нибудь. Ну попробовать готовенькое из OpenCV (но это не масштабируемое решение)