Для проверки наличия символа в строке можно использовать, например, следующие алгоритмы:
- Прямой поиск. 5 Самый простой и очевидный алгоритм. 5 Суть его заключается в посимвольном сравнении строки с подстрокой. 5 В начальный момент сравнивают первый символ строки с первым символом подстроки, второй символ строки со вторым символом подстроки и так далее. 5 Если все символы совпадают, то фиксируется факт нахождения подстроки. 5 В противном случае подстроку сдвигают на одну позицию вправо и повторяют сравнение. 5
- Алгоритм Рабина. 1 Выполняет линейный проход по строке и линейный проход по всему тексту. 1 Время работы алгоритма линейно зависит от размера строки и текста, программа работает быстро, так как проверяет только те подстроки, которые «напоминают» образец. 1
- Алгоритм Кнута-Морриса-Пратта (КМП). 1 Метод использует предобработку искомой строки и создаёт на её основе префикс-функцию. 1 Суть алгоритма заключается в нахождении наибольшей подстроки, одновременно находящейся и в начале, и в конце подстроки. 1
- Алгоритм Бойера-Мура. 1 Считается наиболее быстрым среди алгоритмов общего назначения, предназначенных для поиска подстроки в строке. 1 Суть алгоритма заключается в том, что строки сравнивают с конца. 3 Когда обнаруживается несовпадающий символ между строкой и образцом, образец необходимо сдвинуть вправо на столько символов, чтобы несовпадающий символ строки теперь совпал с символом образца. 3