Obj-C / iOS: просмотреть какой-нибудь документ из нескольких тысяч слов? - PullRequest
0 голосов
/ 29 августа 2011

Как часть программы для чтения документов, которую я пишу для iPhone / iPad, мне нужна следующая функциональность:

Поиск в документе от 500 до 10000 слов слов и словосочетаний, которые появляются в одном из нескольких списков. Каждый список содержит от 100 до 5000 слов и фраз. Когда я нахожу в документе слово, которое появляется в одном из этих списков, я отмечаю его и продолжаю.

Я буду знать списки слов заранее, но документы будут неизвестны до того момента, пока они не будут обработаны.

И это должно быть ОЧЕНЬ БЫСТРО.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

2 голосов
/ 29 августа 2011

В этой презентации и paper представлен быстрый алгоритм поиска строк с несколькими шаблонами.Здесь также упоминаются некоторые предшественники, если они не соответствуют вашим потребностям.

Multifast - это библиотека C с открытым исходным кодом (LGPLed) C, которая реализует алгоритм Aho-Corasick .

1 голос
/ 29 августа 2011

Я бы создал огромную хэш-карту с фразами и словами для поиска во время загрузки, поскольку поиск по хеш-картам очень и очень быстрый, особенно при таких размерах.Очевидно, что решение требует много памяти, но довольно тривиально.

iOS 4 и выше, кажется, имеет функциональность для пользовательских словарей;возможно, вы могли бы использовать это как-то?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...