Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Алгоритмы / Поиск в строках, массивах, последовательностях / Точный поиск подстроки в строке /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Краткий обзор алгоритмов - Программирование от RIN.RU
Краткий обзор алгоритмов

АлгоритмВремя на пред. обработкуСреднее время поискаХудшее время поискаЗатраты памятиПримечания
Алгоритм
грубой силы
Нет 2*n O(n*m) НетMалые трудозатраты на программу
Построение
автомата
O(s+m)O(n)O(n)O(s*m)-
Алгоритм
Карпа-Рабина
НетO(n+m)O(n*m)Нет-

Алгоритм
Сдвига-Или
O(s+m)O(n)O(n)-Хорош, если длина образца <= размера компьютерного слова. Легко адаптируем к приблизительному сравнению
Алгоритм
Морриса-Пратта
O(m)O(n+m)O(n+m)O(m)-
Алгоритм Кнута-Морриса-ПраттаO(m)O(n+m)O(n+m)O(m)-
'Не такой уж наивный' алгоритмO(1)O(n+m)O(n*m)O(1)Время и место для предобработки - константа.
Алгоритм Боуера-МураO(m+s)O(n+m)O(n*m)O(m+s)Алгоритмы этой группы наиболее эффективны в обычных ситуациях. Быстродействие повышается при увеличении образца или алфавита.

Tурбо-БМ
O(m+s)O(n+m)2*nO(m+s)Улучшение предыдущего алгоритма.
Алгоритм Боуера-Мура-ХорспулаO(m+s)O(n+m)O(n*m)O(m+s)Легок в реализации. Так же эффективен, как и БМ.

Быстрый поиск
O(m+s)O(n+m)O(n*m)O(m+s)Очень быстрый алгоритм для обычных текстов и поиска. Эффективность падает с увеличением длины образца, но возрастает - с увеличением алфавита.
Алгоритм обращения сегментаO ( m )O(n(logsm)/m)O(n*m)O ( m )-

Турбо - обращение сегмента
O ( m )O(n(logsm)/m)2nO ( m )маленький алфавит и длинный образец

Алгоритм оптимального несовпадения
O(m+s)O(n+m)O(n*m)O(m+s)Очень быстрый алгоритм для обычных текстов и поиска. Большой объем предварительных вычислений.

Алгоритм максимального сдвига
O(m+s)O(n+m)O(n*m)O(m+s)Очень быстрый алгоритм для обычных текстов и поиска. Большой объем предварительных вычислений.



 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь