Java. Алгоритмы поиска в строке: наивный, Кнута-Морриса-Пратта.
ฝัง
- เผยแพร่เมื่อ 25 ส.ค. 2024
- В данном видео разбираем задачу поиска подстроки или поиска строки в тексте. Рассматриваем простейший "наивный" алгоритм и, делая попытки улучшить его, приходим к алгоритму Кнута-Морриса-Пратта. Пишем реализации алгоритмов на языке программирования Java.
Алгоритм Кнута-Морриса-Пратта является эффективным и гарантирует поиск строки за O(n).
#ArhiTutorialsJava #ityoutubersru
Исходники на GitHub:
github.com/Arh...
Общее оглавление по алгоритмам:
github.com/Arh...
Онлайн визуализация работы алгоритма Кнута-Морриса-Пратта:
people.ok.ubc....
Статьи для изучения темы:
habr.com/ru/po...
habr.com/ru/po...
ru.wikipedia.o...
Поддержать канал💰:
yoomoney.ru/to...
Телеграм группа:
t.me/ArhiTutor...
Совсем недавно наткнулся на твой канал, я начинающий программист, подача, материал и в целом - всё очень и очень круто, большое тебе спасибо за твой труд!!!
Спасибо за отличную подачу материала. Полезное видео, без словоблудия.
С новым годом!
Запутанный алгоритм, чтоб разобраться, можно посмотреть работу алгоритма по шагам:
people.ok.ubc.ca/ylucet/DS/KnuthMorrisPratt.html
Спасибо большое за видео, не очень понял как что работает, но дебаг думаю поможет. За ссылку спасибо!
Спасибо огромное, всё очень доступно и ясно!
Спасибо за видео
Оооо новое видео) Спасибо!
большое спасибо, очень интересно. пойду пробовать
Спасибо!
Привет. У меня вопрос. Можно ли в строке: values[i + j] = Math.max(values [i + j], j + 1); оставить вот так : values[i + j] =j + 1; ???? Да , в теории я понимаю что нужно выбрать max в этой ячейке. Но в данном коде у нас не будет выбираться из чего то, поэтому считаю достаточно j + 1 ; и будет тоже само) ведь так?
Спасибо за видео! А какую программу вы используете для визуализации? Там где буквы двигаете :)
Вот этот сайт: app.diagrams.net/
Удобная штука, зашел, нарисовал, даже устанавливать ничего не надо)
@@arhitutorials О! Спасибо!
Лайк если делаешь лабу
цикл for следует ограничить text - sample, что бы не гонять лишние инструкции в цикле while