catpad: (Default)
catpad ([personal profile] catpad) wrote2005-12-01 04:41 pm

Уточнения к задаче

Вижу, что нужно внести уточнения к этой задаче:
1) хитроумные библиотечные функции применять нельзя, иначе теряется весь смысл задачи.
2) N - это длина входной строки, а не размер множества всевозможных подстрок. Сложность алгоритма должа зависеть только от N и не должна зависеть от размера данного множества подстрок (который может быть очень большим).
3) У подстроки в заданном множестве имеется верхняя граница длины (в реальности 20).

[identity profile] mopexod.livejournal.com 2005-12-01 07:59 am (UTC)(link)
не поможет ли тут "трай", не знаю, как это по-английски... дерево сделать из словаря подстрок.

[identity profile] catpad.livejournal.com 2005-12-01 10:49 am (UTC)(link)
Видимо, это оно самое и есть, только я не знал, как оно называется. Я его сам придумал, завтра покажу.

[identity profile] catpad.livejournal.com 2005-12-02 02:02 am (UTC)(link)
Кто учил, а кто прогуливал :)

[identity profile] ilyabo.livejournal.com 2005-12-01 09:58 am (UTC)(link)
Правильно я понимаю, что множество строк заранее задано, а на входе алгоритм получает только строку для поиска в ней подстрок, и следовательно, по множеству строк можно вначале один раз построить достаточно сложную структуру данных, в которой легко будет искать подстроки (причем сложность алгоритма построения этой структуры может естественно зависеть от числа строк)?

[identity profile] catpad.livejournal.com 2005-12-01 10:50 am (UTC)(link)
Да, всё правильно.