![]() |
|
![]() ![]() ![]() |
|
imageman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.9.2004 Репутация: нет Всего: 1 |
Дано: длинный текст не помещающийся в память (или в кэш).
Нужно найти "координаты" всех вхождений 100-300 слов (разной длины). Т.е. на выходе что-то вроде: 1-е слово находится в тексте на позициях 3, 88, 900. 2-е слово не найдено. 3-е слово на позициях 1000, 1020, 1090 Тупой вариант использования find не проходит - текст длинный и слов довольно много, поэтому find жрет очень много ресурсов. Сейчас есть мысль использовать через CRC (как в rsync), но смущает то, что слова разной длины (от 1-й до 15 букв). Кто что посоветует? |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
НаписАть спецприблуду для решения задачи.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
nworm, я правильно понял, что на основе словаря-списка искомых слов строится дерево? тогда сложность получается порядка N(длины текста для разбора), что очень круто
![]() ![]() |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
Да, именно так. |
|||
|
||||
imageman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.9.2004 Репутация: нет Всего: 1 |
буду изучать! Спасибо! Нечто подобное мне и предлагали знатоки (составление конечного автомата), но тут написано намного лучше и (похоже) то, что мне надо.
Это сообщение отредактировал(а) imageman - 29.12.2012, 12:41 |
|||
|
||||
Polesinskij |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 31.10.2013 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |