подстроки

From
Stanislav Shwartsman (2:400/520)
To
Dmitry Kitanin
Date
2003-01-18T00:10:10Z
Area
RU.ALGORITHMS
Hello Dmitry!

17 Jan 03 21:02, you wrote to me:

 SS>>  За C*log(N) ты можешь и всю подстроку найти при условии, что
 SS>> текст (строка) был заранее обработан и проиндексирован. Вот
 SS>> только на обработку и индексацию нужно как правило больше, чем
 SS>> O(N). Поэтому если нужно искать один-два раза, то пользоваться
 SS>> всем этим уже не имеет смысла, проще просто текст просмотреть.

 DK> Меня интересовал алгоритм поиска для 1го символа с временем =const,не
 DK> зависящим от длины строки в которой ищем. Такие алгоритмы вообще
 DK> существуют? Или это в принципе не возможно? Предобработка меня не
 DK> пугает.

 Предобработкой в твоем случае может быть обычная сортировка всего текста +
 индексация по алфавиту где начинается какая буква в полученном файле.
 Тогда одну букву ты сможешь найти всего за ОДНУ операцию в независимости
 от длины строки в которой ищешь. Вот только предобработка будет тебе
 стоить O(N*logN) операций, что даже больше длины текста. И если ты
 собираешься искать свою букву меньшее кол-во раз, чем удвоенное число
 символов в тексте, в котором ищем, ты вся эта возня не имеет никакого
 смысла.

    E-mail: gate@fidonet.org.il
    Voice Phones: 972-4-8330554 (home), 972-5-4481073 (cell)

Bye !
Stanislav     (AKA Night's Man)                        [Team Technion]
---
 * Origin: Gate From Another World ... From Haifa, Israel (2:400/520)