Re: подстроки
- From
- Oleg Khovayko ()
- To
- Stanislav Shwartsman
- Date
- 2003-01-17T05:49:24Z
- Area
- RU.ALGORITHMS
From: Oleg Khovayko <olegh@hotpop.com>
Stanislav Shwartsman wrote:
> Hello Dmitry!
>
> 16 Jan 03 23:57, you wrote to All:
>
> DK> Какой алгоритм поиска сабжа сейчас самый быстрый?
>
Вроде как "Алгоритм Бойера - Мура" и его разновидности.
В подавляющем большинстве случаев он производит около M/N
операций, где M - длина исходной строки, а N - искомой подстроки.
> Где можно посмотреть
> DK> исходники (желательно Си)?
Ну в интернете поищите. Введите в любом поисковике
"Алгоритм Бойера - Мура" - и получите кучу вариаций.
> Я думаю быстрее FSM (конечный автомат) вряд ли что-то сделаешь.
БМ - побыстрее КА будет. Ибо для КА надо M операций, а для БМ - в N раз
меньше.
> что для произвольного текста не существует алгоритма, более быстрого,
> чем O(длина текста) задача для средней школы.
Присоединяюсь.
>
> DK> Существуют ли алгоритмы поиска подстроки
> DK> (или хотя бы 1го символа)за время, не зависящее от длины строки, в
> DK> которой производится поиск?
Не существует. Кроме, возможно, гипотетического квантового алгоритма,
который очень быстро может находить запись в неупорядоченом списке.
Но я в это не верю. Да и квантового компутера еще не сделали...
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)