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...

ความคิดเห็น • 16

  • @user-sk9kb3ll3g
    @user-sk9kb3ll3g 4 ปีที่แล้ว +4

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

  • @altruistikk666
    @altruistikk666 4 ปีที่แล้ว +4

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

  • @arsenthompson
    @arsenthompson 4 ปีที่แล้ว +2

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

  • @arhitutorials
    @arhitutorials  4 ปีที่แล้ว +1

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

  • @ascar66
    @ascar66 3 ปีที่แล้ว

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

  • @Andrzej3935
    @Andrzej3935 3 ปีที่แล้ว

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

  • @8vbo130
    @8vbo130 4 ปีที่แล้ว

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

  • @MrTheMaks
    @MrTheMaks 4 ปีที่แล้ว

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

  • @Sasha2357855
    @Sasha2357855 4 ปีที่แล้ว

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

  • @d.mertsalov
    @d.mertsalov 4 ปีที่แล้ว

    Спасибо!

  • @alexeygomozov5917
    @alexeygomozov5917 3 ปีที่แล้ว

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

  • @halfearr
    @halfearr 3 ปีที่แล้ว

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

    • @arhitutorials
      @arhitutorials  3 ปีที่แล้ว +1

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

    • @halfearr
      @halfearr 3 ปีที่แล้ว

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

  • @user-jh5po4bx8j
    @user-jh5po4bx8j 2 ปีที่แล้ว

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

  • @John.Constantine.777
    @John.Constantine.777 3 หลายเดือนก่อน

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