Наивный псевдоалгоритм сопоставления строк: простой подход к сопоставлению с образцом в тексте

Вот простой псевдоалгоритм сопоставления строк, объясненный на английском языке:

Псевдоалгоритм для наивного сопоставления строк:

  1. Начните с текстовой строки T и строки шаблона P.
  2. Инициализировать две переменные, i и j, значением 0, представляющим текущие позиции в T и P соответственно.
  3. Повторяйте шаги с 4 по 7, пока не будет достигнут конец T или конец P.
  4. Сравните символы T[i] и P[j].
  5. Если символы совпадают, увеличьте i и j на 1.
  6. Если символы не совпадают, сбросьте j на 0 и увеличьте i на 1.
  7. Если j достигает длины P, совпадение находится в позиции i – j в T.
  8. Продолжите поиск совпадений, повторив шаги с 4 по 7.
  9. Вывести позиции всех совпадений, найденных в T.

Наивное сопоставление строк, также известное как сопоставление строк методом грубой силы, представляет собой простой алгоритм, который сравнивает заданный шаблон со всеми возможными подстроками текста. Его временная сложность равна O((n-m+1)m), где n — длина текста, а m — длина шаблона.