9.1 Knuth-Morris-Pratt KMP String Matching Algorithm

Поділитися
Вставка
  • Опубліковано 7 лют 2025
  • In P3, b is also matching , lps should be 0 1 0 0 1 0 1 2 3 0
    Naive Algorithm
    Drawbacks of Naive Algorithm
    Prefix and Suffix of Pattern
    KMP Algorithm
    PATREON : www.patreon.co...
    Courses on Udemy
    ================
    Java Programming
    www.udemy.com/...
    Data Structures using C and C++
    www.udemy.com/...
    C++ Programming
    www.udemy.com/...

КОМЕНТАРІ • 1 тис.

  • @UsmanKhan-lp2mg
    @UsmanKhan-lp2mg 5 років тому +3162

    Computer Science students will always be thankful to this legend ❤

    • @SarbojitGanguly
      @SarbojitGanguly 5 років тому +12

      yes, true that. He is simply amazing.

    • @ManishKumar-vg9yz
      @ManishKumar-vg9yz 4 роки тому

      chat.whatsapp.com/GSKHF9PdnJkKbjbW0MDgqt

    • @khizratariq9629
      @khizratariq9629 4 роки тому +4

      Yess

    • @prashantrandive6132
      @prashantrandive6132 4 роки тому +24

      Not only computer science student ,All engineering student be thankful to this man❤️❤️

    • @satyamkumar2820
      @satyamkumar2820 4 роки тому +11

      not only CS students, Whole community who are interested in Algorithms

  • @richardszegh6443
    @richardszegh6443 4 роки тому +965

    this guy achieves to teach things in 20 minutes that university teachers fail to teach in hours

  • @ankityadav-ci6gy
    @ankityadav-ci6gy Рік тому +24

    the pursuit of understanding this algorithm always scares the hell out of me ..... u came as a savior...thanks a lot, Sir.

  • @mamtachahal1277
    @mamtachahal1277 5 років тому +191

    You might have heard it many times, but still I prefer mentioning it that all these efforts you made to make such valuable contents free of cost is amazing, This is going to serve many programmers for the next coming years as well. Be it your way of explanation, your intuition every thing is just perfect. And we the programming community is thankful to you sir.
    I do hope that you will be making more videos in the coming years. That is the only negative thing that I hear about this otherwise wonderful channel it that the advanced data structures and algorithms are not being covered. This is just a feedback from someone who has been following your videos for quiet a long time.
    Again thank you sir

  • @gugy6541
    @gugy6541 2 роки тому +359

    correction: 11:27 last `b` should be 3. thanks Abdul, I find your explanations more than helpful! keep up the good work!

  • @lukemorrice8692
    @lukemorrice8692 6 років тому +444

    The best KMP algorithm explanation on UA-cam.

  • @makeitswift9839
    @makeitswift9839 9 місяців тому +12

    Thanks for explaining KMP in simple terms

  • @lifeofbalaji
    @lifeofbalaji 4 роки тому +128

    This algorithm is mostly used in research field. Interviewers won't expect you to formulate KMP in a span of an hour. Rabin-Karp with rolling hash function is some want less complex and less efficient algo(Better than naive though) which can be used in an interview. That being said, I'm only here for this legend's explanation, I'm a big fan from Chennai, sir.

    • @shritishaw7510
      @shritishaw7510 3 роки тому +27

      though they don't expect us to use kmp algorithm in interviews. Knowing the concept and the implementation can turn tables for you in the interview.

    • @azizvohra3142
      @azizvohra3142 2 роки тому +1

      @@shritishaw7510 But do they expect us to. know this algo?

    • @gladyouseen8160
      @gladyouseen8160 2 роки тому +24

      Question was asked in Microsoft

    • @thenishantgiri
      @thenishantgiri 2 роки тому

      @@gladyouseen8160 was the implementation asked??

    • @vivekverma4012
      @vivekverma4012 Рік тому +3

      @@thenishantgiri yes complete implementation

  • @soupoverflow
    @soupoverflow 4 роки тому +65

    This man has singlehandedly helped me through so much of my undergrad degree. All for free. I can’t thank you enough Mr. Bari!

  • @mrreese2342
    @mrreese2342 3 місяці тому +11

    I was so happy when i typed the algorithm's name clicked search and this LEGEND shows up!! all CS students love you sir.

  • @priyabrata8467
    @priyabrata8467 6 років тому +1581

    At 11:33 on pattern P3 aab should be 123 instead of 120

    • @arsalanhashemi4469
      @arsalanhashemi4469 6 років тому +43

      yes true

    • @catlord69
      @catlord69 5 років тому +68

      was wondering the same, thanks for confirming

    • @myeverymusic
      @myeverymusic 5 років тому +50

      @@abdul_bari You made the most clear explanation on where the KMP algorithm comes from, instead of just showing us how to compute the KMP array using the pattern string. The way you teach allows students to understand the background, thus we can always recall the algorithm even if we forget. This is the same idea on learning math. You are a great teacher! :)

    • @sharpnova2
      @sharpnova2 5 років тому +10

      @@abdul_bari that is not helpful. what would be helpful would be for you to insert an annotation at that point in the video.

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

      C is also matched in P3 so it will be 1234

  • @shritishaw7510
    @shritishaw7510 3 роки тому +10

    Before playing this video, I watched the explanation by some other expressive UA-camrs, But honestly, no one is nearer to the way you explained the thought process of the KMP algorithm. Thank you for your lucid explanation.

  • @jpakash1999
    @jpakash1999 5 місяців тому +6

    Man , I used to watch ur videos during my college days . its been 5 years that i graduated still I learn from your videos. Where is he now , no new videos at all these days

  • @susheelnomula
    @susheelnomula 3 місяці тому +19

    sir small correction to be made at 11:30 for the pattern 3 lps array will be lps[] = [0, 1, 0, 0, 1, 0, 1, 2, 3, 0]

  • @jimmy1681000
    @jimmy1681000 4 роки тому +53

    You teach me how to appreciate the beauty of algorithms.
    Thank you so much.

  • @shafiquemohammad2876
    @shafiquemohammad2876 3 роки тому +4

    Its 2021 and its still the best KMP explanation available on UA-cam.

  • @sgr2683
    @sgr2683 3 роки тому +4

    Teachers are God and you are one of them...THANKYOU SO SO SO MUCH SIR. Today, our teacher taught the algo but in a complex way, and said that it will take 2-3 hrs honestly to understand but you saved my time.

  • @priyavardhanpatel6155
    @priyavardhanpatel6155 Рік тому +4

    I can't say how much thankful I am. I have read this from book 4 times and still didn't understand a bit, but after watching your video only once fully understand KMP. Thank you so much Abdul sir.

  • @travellingsLenses
    @travellingsLenses 6 років тому +68

    Literally one of the best explainations of KMP on internet :) Keep it up sir.

  • @JohilAngelo
    @JohilAngelo 10 місяців тому +3

    Don't ignore this video because of 19 mins duration, You can set the speed to X1.25 and listen. Each and every input from this legend is just amazing
    Thank you sir. Happy learning😀

  • @alexandersafi569
    @alexandersafi569 3 роки тому +39

    Thank you enormously from the Netherlands !

  • @sonitushar93
    @sonitushar93 4 роки тому +2

    After searching on internet not found anything better than this video, really appreciate!! Thanks for such simple explanation of this algo.

  • @natesh1
    @natesh1 6 років тому +10

    I have seen some videos trying hard to understand kmp, but none of them have given such clarity like u did. Thank you so much 😊. It's a wonder how just a change of few words can make a huge difference in understanding.

  • @nandanbanerji8309
    @nandanbanerji8309 3 роки тому +12

    No one can teach better than You sir. I convey my all respect to you. Desire to meet you personally and just want to bow before you to pay my respect.

  • @NoName-qp7hq
    @NoName-qp7hq 2 роки тому +32

    Students are benifiting from your videos years after years... Dill se Bohot bada Thank you aapko Bari sir.. Absolute legend 🙏🏻

  • @pg.n5694
    @pg.n5694 4 роки тому +11

    As always my professor out here dropping gems on us humble students. Much love. We appreciate you

  • @dilukshanbimsara357
    @dilukshanbimsara357 3 роки тому +104

    7:45 Start KMP (0:00 to 7:45 Naive String Matching Algo)

  • @mohamedel-hadidy4844
    @mohamedel-hadidy4844 3 роки тому +7

    Thank you sir
    If I passed my exam tomorrow, you will be one of the reasons
    بارك الله فيك
    ربنا ييسر ان شاء الله

    • @skilfuldude7312
      @skilfuldude7312 2 роки тому +1

      passed ?

    • @mohamedel-hadidy4844
      @mohamedel-hadidy4844 2 роки тому +1

      @@skilfuldude7312
      Yeah and now I'm in the last year
      Thanks to God
      الحمدلله
      Wish me luck :D

  • @doxuanhoang8767
    @doxuanhoang8767 3 роки тому +6

    From Vietnam with love :3 Computer Science students will always be thankful to you

  • @raajkiran5983
    @raajkiran5983 3 роки тому +2

    The best tutorial on KMP. some unpeople taking money for unteaching at unacademy. And this guy is teaching and taking unmoney.

  • @big-blade
    @big-blade 5 років тому +17

    Unmatchable Explanation in UA-cam. You're a legend Sir. Thank You.

  • @namanvijay3514
    @namanvijay3514 2 роки тому +4

    Used to watch your videos in my second year, watching again for revision in my final year preparing for placements! ( currently holding two offers from big tech companies)Thanks sir.

    • @mannanarora-w6f
      @mannanarora-w6f Місяць тому

      hello bhaiyan , i am in 3rd year what to do for placements?

  • @AryanSingh2512.
    @AryanSingh2512. 6 років тому +5

    I must say that u are an amazing teacher. In most of the videos, people often suggest tricks, but you explain that trick technically which sounds much more professional. Your videos are great.
    Please upload illustration of Red-Black Tree.

  • @Pankajkumar-dy9ef
    @Pankajkumar-dy9ef 6 років тому +239

    HUGE RESPECT TO THIS LIVING Legend!!!

  • @rashmidhakad4436
    @rashmidhakad4436 6 років тому +4

    You are awesome. None of the people in my university was able to simplify this algorithm for me.

  • @ahmedifhaam2669
    @ahmedifhaam2669 2 роки тому +6

    Funny how my lecturer took 5 hours to teach this topic, and I actually understood during first 30 mins, then he confused me after an hour, I understood again, then he confused me again and pattern repeated, after 5 hours I questioned everything I learnt lol. And this guy did it. the right way

    • @satioOeinas
      @satioOeinas 5 місяців тому +1

      atleast he took 5 hours trying, ours just mentioned it, and then added some tasks about it on our assignment

  • @alone_man3198
    @alone_man3198 3 роки тому +5

    We are very grateful to you that we got such a important person in our life....

  • @mkmkmk845
    @mkmkmk845 3 роки тому +8

    wish all these great tutorials were available when I was doing my graduation.

  • @collingriffin7949
    @collingriffin7949 5 років тому +13

    Better than my professor's explanation, keep it up!

  • @LV-ei1ce
    @LV-ei1ce 6 років тому +1

    Very professional explanation. No matter what, professors are professors. They know how to explain clearly :) Thank you for your time. Appreciate it.

  • @guifanweng410
    @guifanweng410 6 років тому +3

    This is the best explanation I have ever seen. I have searched for several videos, most of them just focus on implementing without much reasoning. However, after watching this video, I fully understood the principle behind KMP and implemented the algorithm by myself. Thank you very much.

  • @user-vo3uy6sv3j
    @user-vo3uy6sv3j 2 роки тому

    Dozens of videos trying to understand how the pattern works, found your video and understood in 2 minutes, tysm

  • @wokpokie
    @wokpokie 4 роки тому +76

    Mr Bari, you're truly a gem. None of the videos online could explain these concepts as clearly as you. Really appreciate what you are doing!

  • @0rdsec
    @0rdsec 4 роки тому +9

    Standing ovation. I'm a total noob when it comes to algorithms, and I can now say that I fully understand this absolute monster. Thank you.

    • @ShubhamSharma-oq4hr
      @ShubhamSharma-oq4hr 3 роки тому

      you just called him absolute monster

    • @saumyakhati5612
      @saumyakhati5612 3 роки тому +1

      @@ShubhamSharma-oq4hr In case you are not being sarcastic, he was referring to the algorithm.

    • @ShubhamSharma-oq4hr
      @ShubhamSharma-oq4hr 3 роки тому +1

      @@saumyakhati5612 yep i did misunderstood him.. thanks

  • @sahilanand30
    @sahilanand30 2 роки тому +1

    I've been roaming around tons of yt channels but I found the easiest and most understandable explanation here.

  • @jashanpreetsingh_
    @jashanpreetsingh_ 2 місяці тому +3

    It's December 2024 & Bro is still ----> THE GOAT 🐐

  • @vaibhavbhardwaj8895
    @vaibhavbhardwaj8895 Рік тому +2

    Thank you soo much sir for the help i was stuck on this algo for the entire day trying to watch different videos to get a proper explaination and then your video poped up and changed everything :)

  • @TridibSamanta
    @TridibSamanta 6 років тому +5

    Great ! You are a great Teacher. Thanks for saving my Design and analysis of Algorithm Paper. God in disguise.
    #Respect

  • @preetkamal7424
    @preetkamal7424 4 роки тому +2

    I am a beginner and it was beautifully explained. The only KMP video I understood.
    Thanks a lot sir!!!

  • @TavsanCavus
    @TavsanCavus 2 роки тому +7

    hello king you dropped this 👑

  • @ocoocososococosooooosoococoso
    @ocoocososococosooooosoococoso 7 місяців тому +1

    this guy is legend... i now understand how KMP works. Thank you so much.

  • @PetBuddies
    @PetBuddies 3 роки тому +72

    hello Sir, I know I might be mistaken but at 11:25 aren't we supposed to put 3 under be at aab since it matches the prefix sequence aab. Please let me know. Thank you for your concern. And overall I understood the whole thing. Your lectures are the best.

  • @cutiex7357
    @cutiex7357 3 роки тому +1

    I've been watching your video since the dawn of my CS study!!! Thank you!!!!

  • @debugagrawal
    @debugagrawal 3 роки тому +3

    You keep students interest in topic through out the video, thanks for your efforts🚀✔🤘

  • @Cloud-577
    @Cloud-577 3 роки тому +1

    I watched too many videos on Knuth Algo and your explanation is by far the best I have seen. Thank you very much! you a life savior.

  • @zalgothedestroyer9432
    @zalgothedestroyer9432 3 роки тому +2

    Dude I love the video so much. When you found that last match it gave me a big smile. This algorithm is cool! You do such a great job explaining the concept. Thank you for the video.

  • @aditikhatri7979
    @aditikhatri7979 6 років тому +14

    Thank you so much sir! The book I am using has an explanation that I cannot grasp so easily but your explanation is crystal clear.

  • @janhvibhilare2092
    @janhvibhilare2092 2 роки тому +1

    Currently I am a final year IT student and I don't know why utube hasn't recommended his video 😭 well this is my first time I am watching his video.. your teaching is awesome 🙇 thank you for making this concept easy for us

  • @catboymazov6309
    @catboymazov6309 6 років тому +291

    KMP starts at 7:40. You're welcome.

    • @AJ-te4jn
      @AJ-te4jn 6 років тому +53

      Of course sir, but when just one hour is left for the exam, we need your algorithm faster!! :)

    • @saurabhshrigadi
      @saurabhshrigadi 6 років тому +8

      AJ you are right bro , jo pura saal nahi kiya wo end me youtube se sikhte he aapn log

    • @ninewinskull934
      @ninewinskull934 6 років тому

      Aditya Ravichandran I

    • @mohammedyakub7787
      @mohammedyakub7787 6 років тому +1

      thanks bro

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

      Before 7:40.... There is Naive string match algorithm...

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

    Really appreciate how you explain with examples. Makes it really easy to understand even difficult algorithms. Thanks.

  • @malihanan541
    @malihanan541 5 років тому +3

    I was so confused, turns out it is pretty easy! Thank you!!

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

    Was still lost after a blog and 2 other videos, only your video explained this so clearly! Thank you!!

  • @SS-qf3pl
    @SS-qf3pl 3 роки тому +4

    in P3 for a a b repeating for 2nd time it should have 1 2 3 but you gave 1 2 0 sir..please verify it!!
    awesome content ❤️❤️

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

      I have the same doubt!

  • @prestoX
    @prestoX Рік тому

    You are the epitome of awesomeness, when it comes to lucid explanations !

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

    Sir, you should definitely create a bootcamp course for technical interviews, you ll save so many lives. Thank you for all your efforts sir !

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

    huge respect to u sir.......every department will have one professor like this.....unfortunately i landed up here for having the worst ada teacher

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

    A very lucid explanation to a complex algorithm. Thank you very much sir.

  • @Universe-3-js
    @Universe-3-js Місяць тому +1

    1 and ONLY Lengend master to all clg's CSE students for many more years ahead😊 💐

  • @shazzedhossainshajal6889
    @shazzedhossainshajal6889 9 місяців тому +6

    p3 last b should be 3

  • @jitendrateli7824
    @jitendrateli7824 3 місяці тому +1

    Its an really Nice Explanation. its so much better than reading at geeks for geeks. Sir is making so much worth to learn at UA-cam. 🙏

  • @shumzmut9639
    @shumzmut9639 6 років тому +4

    Fabulous! Excellent explanation. Thank you sir!

  • @AbdulRahman-rg5dq
    @AbdulRahman-rg5dq Рік тому +1

    Sir you are legend your teaching method is amazing alot of love from peshawar

  • @lradhakrishnarao902
    @lradhakrishnarao902 3 роки тому +8

    Hi, great video. I have a doubt. For pattern P3, why aab is not 1,2,3 because it's getting repeated?

  • @ShaneHughes-q1x
    @ShaneHughes-q1x 10 місяців тому

    Again - Abdul - thank you for another great video. You make things so easy to understand without fluff.

  • @267praveen
    @267praveen 3 роки тому +41

    11:29 - the moment you realise you made a mistake but still decide to ignore thinking " chal yaar chod ... Kya fark paindaa hai"

    • @replicatoria
      @replicatoria 3 роки тому +12

      last b should get 3 ,right?

    • @pratimasingh1258
      @pratimasingh1258 3 роки тому +1

      @@replicatoria yes

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

      @@replicatoria yep

    • @Gurpr33t.S1ngh
      @Gurpr33t.S1ngh 3 роки тому +1

      @@pratimasingh1258 yes i was also thinking the same thanks for helping

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

      @@replicatoria, you're right: a a b c a d a a b e = 0 1 0 0 1 0 1 2 3 0

  • @shahjahansheikh9189
    @shahjahansheikh9189 4 роки тому +2

    I use to bunk classes bcz I believe in this man,every complex concept is easy here

  • @jaikumargupta1368
    @jaikumargupta1368 2 місяці тому +3

    7:39 lecture start

  • @aniruddhsingh5280
    @aniruddhsingh5280 2 роки тому +2

    Your explanations are very clear and easy to understand

  • @jaikumargupta1368
    @jaikumargupta1368 2 місяці тому +3

    9:36lecture start

  • @CodewithRazan
    @CodewithRazan Місяць тому +1

    The best explanation from the best teacher ❤

  • @apporvaarya
    @apporvaarya 5 років тому +6

    i really wish if you were a professor in my NIT college. :)

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

      bro u lucky to be in NIT, how are the prof there? Here its too bad, even though ours is a Govt univ :(

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

      He was just kidding

  • @mystyleforedu
    @mystyleforedu 9 місяців тому

    sir, is legend no doubt but our university faculty taking tym due to making all of us understandable, respect to all faculty.,

  • @adhikari669
    @adhikari669 Рік тому +5

    Sir at 11:55 at p3 I think there's a mistake rest is great ❤️

  • @ShruthiDuggi
    @ShruthiDuggi 2 місяці тому +1

    Tq so much sir i am search many videos but no one is explain in good

  • @yulong5528
    @yulong5528 3 роки тому +5

    KMP starts at 7:42

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

    OP explanation.. now i understand why my whole college watches you sir

  • @harikagajam1238
    @harikagajam1238 3 роки тому +27

    those who have exams in coming hours start at 7.40

  • @us-wolf
    @us-wolf 2 роки тому

    OMG this is the best explanation in UA-cam, thank you so much عبد الباري

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

    sir we absolutely love your videos, if you could pls include the algorithms for all these concepts too!

  • @krishnachaitanya8088
    @krishnachaitanya8088 2 роки тому +2

    for some time i thought i was in classroom, Thank you so much sir.....

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

    11:37 in p3:last b should be 3 why 0?

  • @sadhanas4071
    @sadhanas4071 3 місяці тому +2

    I am doing it in 2024 .Still the best one out there

  • @sharondenys8211
    @sharondenys8211 6 років тому +11

    You are awesome! Can you do video of Amortized analysis and loop invariant next time? I feel like these 2 topics are hard to understand

  • @IrfanAhmed-vf7nb
    @IrfanAhmed-vf7nb 11 місяців тому

    The only video I found helpful on kmp for super clear understanding thank you sir

  • @adilmahmood9098
    @adilmahmood9098 6 років тому +5

    IN P3 aab and aab are same so, the next aab must be 123, time 11:55

  • @goldenboy0121
    @goldenboy0121 2 роки тому

    Damn this the clearest explanation i’ve seen so far, not even chatGPT can explain it this clearly

  • @ronishtailor
    @ronishtailor 5 років тому +8

    Kmp starts at 7:39 ... Thank me later 😁

  • @wilbertcoandadiputra2487
    @wilbertcoandadiputra2487 2 роки тому

    bro is my saviour when it comes to mid or final exam. thank you mr bari

  • @palashrathore6277
    @palashrathore6277 3 роки тому +6

    7:40 for those who want to go straight to KMP explanation without that naive one

  • @krishnagrao9869
    @krishnagrao9869 6 років тому +2

    very good sir....
    you are a very expert teacher..
    now days, i prefer to youtube only for your videos videos..