Java. Алгоритмы поиска в строке: наивный, Кнута-Морриса-Пратта.

Поділитися
Вставка
  • Опубліковано 6 лют 2025
  • В данном видео разбираем задачу поиска подстроки или поиска строки в тексте. Рассматриваем простейший "наивный" алгоритм и, делая попытки улучшить его, приходим к алгоритму Кнута-Морриса-Пратта. Пишем реализации алгоритмов на языке программирования 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...

КОМЕНТАРІ •

  • @altruistikk666
    @altruistikk666 5 років тому +4

    Спасибо за отличную подачу материала. Полезное видео, без словоблудия.

  • @ВладиславНестеренко-м8ъ

    Совсем недавно наткнулся на твой канал, я начинающий программист, подача, материал и в целом - всё очень и очень круто, большое тебе спасибо за твой труд!!!

  • @arhitutorials
    @arhitutorials  5 років тому +1

    Запутанный алгоритм, чтоб разобраться, можно посмотреть работу алгоритма по шагам:
    people.ok.ubc.ca/ylucet/DS/KnuthMorrisPratt.html

  • @Andrzej3935
    @Andrzej3935 3 роки тому

    Спасибо огромное, всё очень доступно и ясно!

  • @arsenthompson
    @arsenthompson 5 років тому +2

    С новым годом!

  • @ascar66
    @ascar66 3 роки тому

    Спасибо большое за видео, не очень понял как что работает, но дебаг думаю поможет. За ссылку спасибо!

  • @Sasha2357855
    @Sasha2357855 4 роки тому

    большое спасибо, очень интересно. пойду пробовать

  • @MrTheMaks
    @MrTheMaks 5 років тому

    Оооо новое видео) Спасибо!

  • @8vbo130
    @8vbo130 4 роки тому

    Спасибо за видео

  • @d.mertsalov
    @d.mertsalov 5 років тому

    Спасибо!

  • @halfearr
    @halfearr 4 роки тому

    Спасибо за видео! А какую программу вы используете для визуализации? Там где буквы двигаете :)

    • @arhitutorials
      @arhitutorials  4 роки тому +1

      Вот этот сайт: app.diagrams.net/
      Удобная штука, зашел, нарисовал, даже устанавливать ничего не надо)

    • @halfearr
      @halfearr 4 роки тому

      @@arhitutorials О! Спасибо!

  • @alexeygomozov5917
    @alexeygomozov5917 3 роки тому

    Привет. У меня вопрос. Можно ли в строке: values[i + j] = Math.max(values [i + j], j + 1); оставить вот так : values[i + j] =j + 1; ???? Да , в теории я понимаю что нужно выбрать max в этой ячейке. Но в данном коде у нас не будет выбираться из чего то, поэтому считаю достаточно j + 1 ; и будет тоже само) ведь так?

  • @АндрейПетуч
    @АндрейПетуч 3 роки тому

    Лайк если делаешь лабу

  • @John.Constantine.777
    @John.Constantine.777 9 місяців тому

    цикл for следует ограничить text - sample, что бы не гонять лишние инструкции в цикле while