Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532

Разработка и оптимизация поискового алгоритма

02.06.2015, 13:27. Показов 650. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
У меня есть куча файлов, в каждом файле по 1 статье. Именем файла является id стать. Я индексирую каждую статью, разбивая ее на слова, и заношу в хэш таблицу с типом цепочка. Слово является ключом, а id статей, в которых встречается это слово, хранимыми данными. Я ввожу некое одно слово ("цветок"), происходит расчет ключа и я получаю id статей, где содержится это слово. Все просто. Основная проблема (то, что я не могу понять), как все это обыграть, когда я ввел "цветок ромашка". Получается, в вверху выдачи должны быть статьи, где встречаются эти 2 слова(их взаимное расположение относительно друг друга тоже хотелось бы учесть, если это возможно), потом 1 (тут тоже я не знаю), а потом 2. Алгоритм сразу усложняется в примерно в раза 2 (очень важно время поиска). Когда мы нашли статьи с одним словом, потом с другим, придется смотреть по id в каких статьях встречаются сразу 2 слова, а если мы введем целое предложение? То это займет массу времени.
Надеюсь на Ваши подсказки по данной проблеме. Спасибо.

Добавлено через 12 часов 56 минут
Есть кто в теме?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.06.2015, 13:27
Ответы с готовыми решениями:

Оптимизация алгоритма
Здравствуйте, решаю следующую задачу: Задан граф с K вершинами и отметками на ребрах – целыми числами от 1 до K. В базе данных хранится N...

Оптимизация алгоритма разбиения по корзинам
Есть практическая задача. Задача: Есть несколько n (5-20) людей, для всех из них задан вес (0-100). надо наиболее оптимально поделить...

Разработка алгоритма и блок-схемы
Нужно разработать алгоритм и блок-схему для нахождения наибольшего общего делителя трехчисел, помогите пожалуйста. Вот сама программа: ...

1
 Аватар для cybercitizen
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
06.06.2015, 16:55
Допилить - распараллелить. Переделать - изменить алгоритм выборки в базу данных не только по словам, но и по словосочетаниям, предложениям. Разработать хеш функцию, дающую один результат вне зависимости от порядка следования слов. Например hash("John Smith") == hash(hash("John") + hash("Smith")). Сложнее будет разбивать текст на смысловые последовательности, но это уже твоя головная боль.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2015, 16:55
Помогаю со студенческими работами здесь

Разработка алгоритма визуализации чертежа
Разработка алгоритма визуализации чертежа. Подскажите, какой алгоритм можно использовать?

Разработка алгоритма для распределенной системы
Добрый день! Для распределенной АСУ необходимо разработать систему единой нумерации. Принцип работы такой: операторы выделяют на...

Разработка алгоритма взаимодействия рисунков на одном экране
Привет! Сейчас изучаю DirectX 9 и переделываю простой пример. Задача: сделать 2D игру с физикой взаимодействия нарисованных объектов,...

Оптимизация алгоритма
Всем привет. Если кто-то сможет оптимизировать "это", то я отблагодарю его материально. uint32_t a0 = ps*26 + ps*51 + ps*102 + ps*51 +...

Оптимизация алгоритма
Добрый день. Написал код на C#, для вычисления, к примеру 2^(1 000 000 000). Ясно, что работа с BigInteger. Код работает, для числа, к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru