9.2 Rabin-Karp String Matching Algorithm

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ต.ค. 2024

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

  • @pushpakwakode5902
    @pushpakwakode5902 ปีที่แล้ว +74

    I completed my most of the syllabus from Abdul sir's lectures..just night before exam..no other videos are better than this..

  • @shantanubapat6937
    @shantanubapat6937 5 ปีที่แล้ว +204

    Abdul Bari is one of the best teachers of algorithms. You see his video once and you get it no matter how hard the topic is. I wish my teachers in college were like him. If Mr Bari is reading this: Sir Thank you! Can you also make videos on topics like system design?

  • @nandkishorenangre8244
    @nandkishorenangre8244 6 ปีที่แล้ว +419

    Great content sir ... i have watched video of Geeks4rGeeks , TusharRoy ... but ur content was the one which actually cleared my confusion ... thank you sir

    • @Phoebes8391
      @Phoebes8391 5 ปีที่แล้ว +32

      same here. didnt understand a thing from geek4geeks video.

    • @sankethb.k642
      @sankethb.k642 5 ปีที่แล้ว +20

      same here left geeks4geeks video at half and came here

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

      same here

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

      same bro

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

      same here

  • @dipchakraborty71
    @dipchakraborty71 5 ปีที่แล้ว +563

    night before the algorithm exam :D

  • @xdewtr
    @xdewtr 6 ปีที่แล้ว +17

    This video clears my confusion by starting simple. I love how you go from naive hash function to show the importance of picking a good hash function to avoid collisions. Great video and subbed.

  • @Fatality_Retired
    @Fatality_Retired 2 ปีที่แล้ว +10

    I was confused about this algo for whole day and you just cleared it in just 20 minutes. Thanks a lot Abdul. Subscribed !!!

  • @AsifKhan-yn2wp
    @AsifKhan-yn2wp 2 ปีที่แล้ว +18

    Gem of an instructor, if only the algorithms could be explained in a class that way, nobody would be intimated by DSA.

  • @vishaldas9312
    @vishaldas9312 ปีที่แล้ว +9

    I love this algorithm! with average TC being O(m-n+1) as taught by sir, when the two strings are equal, i.e. m = n, the algorithm becomes O(1). In fact the concept that the pattern length reduces the complexity just blows my mind!! They do say it correct, the bigger, the better. Thank you sir

  • @hrishabhsingh5647
    @hrishabhsingh5647 6 ปีที่แล้ว +26

    Great explanation sir, you summed up the entire video in just 23 mins and after watching your video, I can understand each and every line of Cormen very easily. ThankYou Sir.

  • @xiaoweidu4667
    @xiaoweidu4667 3 ปีที่แล้ว +24

    only you explained well why the algorithms is engineered that way, thank you!

  • @EvanMilliken
    @EvanMilliken หลายเดือนก่อน +1

    Perfectly well explained sir. I had so much trouble in understanding this problem, but the way you taught it, I understood it easily. Thank you sir.

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

    Thank you so much! Our professor gave such a random explanation that it simply wasn't understandable, this here on the other hand was perfect!

  • @VishalKumar-pk9ek
    @VishalKumar-pk9ek 3 ปีที่แล้ว +3

    best explanation ever...👌👌
    The one thing which makes you look different from other teachers is that you keep gaps between words perfectly along with perfect body language and hand movement . When I saw 24 minutes videos of other teachers, I feel like yawning😁😁😁😁.
    But not in your case.

  • @norielgalang1123
    @norielgalang1123 3 ปีที่แล้ว +11

    As clear as a bright sunny day! Thank you Sir!

  • @bigbrain4071
    @bigbrain4071 2 ปีที่แล้ว +95

    Night before DAA exam

  • @cristiangomez7807
    @cristiangomez7807 5 ปีที่แล้ว +18

    Abdul Bari, this is just a tremendous help. I started deeply understanding after you split the algorithm into several steps discussing the drawbacks. Excellent content. LIKE & SUB

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

    I was having trouble and anxiety when I saw this in class.. I thought, what is this? Because the teacher didn't give any examples like these. Thank you sir, for explaining these algorithms with simple explanations and visualizing it. It really helped me to understand!

  • @dipkumardas3941
    @dipkumardas3941 7 หลายเดือนก่อน +1

    You can't get better explanation of Rabin Karp Algorithm than this one..❤

  • @joseantoniomartinezquinto5711
    @joseantoniomartinezquinto5711 5 ปีที่แล้ว +5

    Man really good explanation even for dummies,simple and clear.Nice video. Thanks

  • @siddharthupadhyay4246
    @siddharthupadhyay4246 2 ปีที่แล้ว +1

    Thank you so much sir, you taught way better than anyone could teach with a laptop.

  • @m.aldakheel803
    @m.aldakheel803 4 ปีที่แล้ว +2

    HE IS THE BEST INSTRUCTOR IN THE WORLD. HE REALLY HELP ME AND MY FRIENDS TO PASS EXAM.

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

    Fabulous explanation ....you are a Legend of Algorithm .....this Free resource is very very Valuable for The students who know nothing about an Algorithm

  • @therealajmelmuadz
    @therealajmelmuadz 5 หลายเดือนก่อน

    Amazing video mate. I can't imagine how you managed to fit the main concepts in CRLS's Algorithms textbook for this algorithm in only 23 minutes. Respect for that.

  • @ShivShankar-ut4ul
    @ShivShankar-ut4ul 4 หลายเดือนก่อน

    Absolute gold, never it has happened that I'm not able to understand something.

  • @cy7602
    @cy7602 2 ปีที่แล้ว

    really cannit stand ppt explanation filled with text and you have saved my life...

  • @ieetscode5318
    @ieetscode5318 2 ปีที่แล้ว +1

    You can't get better explanation of Rabin Karp Algorithm than this one.
    Just wow💕💕❤️

  • @nishtha27
    @nishtha27 6 ปีที่แล้ว +16

    Such patience, thank you, great explanation!

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

    Thanks sir. Teachers like you makes our lifes easy 🙏

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

    I would like to give you Noble prize for this incredibly helpful playlist sir....in the field of education... 🙏🙏😘🌹

  • @Mumma90
    @Mumma90 6 ปีที่แล้ว +10

    Wonderfully clear explanation. Thank you so much! Keep up the good work.

  • @ASIFAlI-lq4rd
    @ASIFAlI-lq4rd ปีที่แล้ว

    one of the best and only teacher in thw world.

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

    Great content sir...love from Switzerland

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

    Bravo sir, this is an epic explanation!

  • @shikharmalik1622
    @shikharmalik1622 5 ปีที่แล้ว +112

    421
    * we were this close to achieving greatness *

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

      I saw this today on 4/21

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

      666 aaaa

    • @AnkitJosh
      @AnkitJosh 3 ปีที่แล้ว +2

      I'm messaging you this right now at 4:20. Coincidence? I think not 😂

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

      @@AnkitJosh Ah You Should Have Focused Lol

    • @tanishsharma5852
      @tanishsharma5852 3 ปีที่แล้ว +2

      @@AnkitJosh Damn! I'm reading it at 4:20 lol.

  • @muhdkhairulamirinum3985
    @muhdkhairulamirinum3985 6 หลายเดือนก่อน

    He is very good at teaching. Thank you for this lesson

  • @simonchan858
    @simonchan858 2 ปีที่แล้ว

    You are so smart and presents all things clearlly

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

    Great prof ever seen , hats off you sir . You are doing great work sir . 🙏🙏

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

    Thank you. Especially the method with the better/accurate hash.

  • @desifun9321
    @desifun9321 5 ปีที่แล้ว +1

    U r great sir, yrr method of teaching this sub is too excellent.you make this sub easier.

  • @saurabhsoni738
    @saurabhsoni738 2 ปีที่แล้ว +1

    Very good explanation , it cleared all doubts

  • @arindamIT
    @arindamIT 6 ปีที่แล้ว +10

    But Sir, if we perform (a big number)%(2^32)..that will lead to higher chances of spurious hits..because the values of the hash function will be in a small range..say(1 to 10)..

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

    The Greatest Explanation sir, Thank you i helped me alot to learn DSA.. Only the Computer Science Students Can know the value of this legend's Explanation 🙏🙏🙏🙏

  • @SarbojitGanguly
    @SarbojitGanguly 5 ปีที่แล้ว +3

    Fantastic explanation sir. Helped me immensely.

  • @kirubelmelak7143
    @kirubelmelak7143 3 ปีที่แล้ว +2

    Thank you for your wonderful explanation. It is so helpful to understand the code and what it's doing!

  • @dhrroovv
    @dhrroovv 2 หลายเดือนก่อน

    best explanation of rabin karp algorithm!

  • @ashishsinha8893
    @ashishsinha8893 6 ปีที่แล้ว +2

    I think sir u r working in algorithm its great to se u in advance algorithm lecture

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

    Sir
    It's an excellent video i am a big fan of your knowledge please share this knowledge with us

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

    Excellent style of instruction

  • @zxborg9681
    @zxborg9681 11 หลายเดือนก่อน

    I've watched many of your videos. You always explain the concepts very well. I would like to make two small suggestions, though. The elements of a string (a,b,c) are LETTERS, not alphabets. The alphabet is the set from which the letters are taken. Also, when multiplying two numbers, you multiply BY a number, not "into" a number. "into" is usually used to describe division, as in "5 into 100 is 20". Whereas you multiply 5 by 20 to get 100. Anyways, thanks for making these videos, they're great!

  • @mohamadhosseinfakharan
    @mohamadhosseinfakharan 10 หลายเดือนก่อน

    Hi. Thank you so much. You explained it very well from the beginning. I understand it completely. Thanks a lot.

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

    We have so much confidence in you that, after coming to the video page, we first like your video and then watch the full video

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

    Great teacher and great teaching method

  • @youtube.comvideo2490
    @youtube.comvideo2490 6 ปีที่แล้ว +10

    sir please try to make one video lecture for string matching with finite automata

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

    Hello Sir, this was a great video about Rabin Karp algorithm. I have a question about its time complexity. Could you please explain why it is O(n - m +1) ? Should not it be O(n+m) because in the best case if we find the pattern which is matching in the text, then time to check that pattern is O(m) OR in the case where the pattern does not exist, then would not the time complexity be O(n) ?

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

      If a text has 11(n) chars, a pattern has 3(m), till 8th comparison max there'll be no results, 9th there will be since[9-10-11], so 11(n)-3(m) +1(the one where you find it, 9th in this case).

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

      @@sparshnagpal1509 so the +1 is not because its a 0-based indexing?

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

      @@iubob98 no

    • @cemtunaboylu8421
      @cemtunaboylu8421 2 ปีที่แล้ว

      @@sparshnagpal1509 You still have to hash which is O(m) thus in total O(n).

  • @jun_1248
    @jun_1248 2 หลายเดือนก่อน

    He was my teacher at MJCET. Good old days.

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

    Was asked in oracle interview

  • @khushboosharma5417
    @khushboosharma5417 2 ปีที่แล้ว

    You always make every problem simple and interesting!!!

  • @Jaffer420
    @Jaffer420 2 ปีที่แล้ว

    Wow what an explanation . I guess i just found the treasure .

  • @koyavasudhalakshmi2073
    @koyavasudhalakshmi2073 3 ปีที่แล้ว +2

    Very helpful sir, very clearly understood sir🙏🙏🙏

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

    Sir at 21:29 you said that there is still possibility of a spurious hit, how is it possible since we are multiplying it with a power of base equal to the total valid characters. I tried to get the probability of any two different strings having same hash value( char * base ^ pos) it was 0. So will there still be worst case.

    • @tsunghan_yu
      @tsunghan_yu ปีที่แล้ว

      I'm confused about it too. It seems to me that if we don't take modulo then there's no collision

  • @sujoyseal195
    @sujoyseal195 2 ปีที่แล้ว

    In C++, we cannot store values greater than 10^18 . So, the second has function worn't work for cases where length of pattern > 18 . Even if we use modulo , there are still chances of collission since even if p!=q , mod(p) may equal mod(q) . So, we need a different hash function for practical purposes.

  • @nopecharon
    @nopecharon ปีที่แล้ว

    You are an amazing teacher

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

    Perfect explanation

  • @namandeepsinghhora8956
    @namandeepsinghhora8956 5 ปีที่แล้ว

    your teaching skills is excellent
    this video help me alot..

  • @himanichoudhary652
    @himanichoudhary652 9 หลายเดือนก่อน

    Thank you very much Sir. Please keep posting such videos. They are very very helpful. Kindly do a course on gate questions as well.

  • @dr.joychristya8937
    @dr.joychristya8937 4 ปีที่แล้ว +1

    you are simply amazing sir... thank you so much.....

  • @nnamdiwilliams1498
    @nnamdiwilliams1498 8 หลายเดือนก่อน

    This was very helpful. Thank you Abdul.

  • @soicooc3500
    @soicooc3500 8 หลายเดือนก่อน

    have watched video of Geeks4rGeeks but i don't understand until i seen your video it break all my confusion

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

    Very clear and to the point explanation. Thank you sir.

  • @md.sabbirahmed9029
    @md.sabbirahmed9029 6 ปีที่แล้ว

    I am fan of your teaching.

  • @altafmazhar7762
    @altafmazhar7762 2 ปีที่แล้ว

    Crystal clear explanatioon sir

  • @reethik2759
    @reethik2759 2 ปีที่แล้ว +1

    🐐 Greatest of All Time

  • @todxzayn4832
    @todxzayn4832 5 หลายเดือนก่อน +9

    Tmr is my DAA exam 😂

  • @vishalc832
    @vishalc832 4 หลายเดือนก่อน

    00:04 Rabin-Karp algorithm is a pattern matching algorithm used to find a pattern in a given text.
    02:29 Rabin-Karp algorithm uses hash function for pattern matching
    05:00 Rabin-Karp algorithm for string matching
    07:37 Rabin-Karp algorithm average time complexity
    10:04 Avoiding spurious hits with a strong hash function
    12:52 Rabin-Karp algorithm allows defining custom hash functions based on text patterns.
    15:20 Explaining the process of Rabin-Karp string matching algorithm
    17:54 Rabin-Karp algorithm using rolling hash function.
    20:04 Introduction to Rabin-Karp string matching algorithm
    22:10 Perform mod operation based on data type and maximum size

  • @eddiepulaski237
    @eddiepulaski237 ปีที่แล้ว

    Brilliant Teacher

  • @mateuszjanik9646
    @mateuszjanik9646 5 หลายเดือนก่อน

    This was very clear and understandable for me :)

  • @Anubis10110
    @Anubis10110 6 ปีที่แล้ว +2

    Great gradual explanation, thank you so much sir.

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

    Sir it would be really helpful if u included the actual algorithm too

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

    Very wonderful explaination sir 🤗

  • @abdulrafay2420
    @abdulrafay2420 ปีที่แล้ว

    Behtreen hogaya bari bhai❤❤

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

    Best explanation I found.

  • @ViswanathanMurugesh
    @ViswanathanMurugesh ปีที่แล้ว

    Great Lecturer. Super clear and keep it up.

  • @reyazahmed9320
    @reyazahmed9320 6 ปีที่แล้ว

    Great work. Made the algo crystal clear

  • @nikhilgoyal8340
    @nikhilgoyal8340 5 ปีที่แล้ว +1

    Also one more thing, we can still have spurious hits, although chances are very less. For example hash code for 'dab' = 421 and hash code for 'dak' also = 421.

    • @alfonsobarona
      @alfonsobarona 5 ปีที่แล้ว +3

      You're missing an important aspect about the selection of the hashing function. The reason why '10' is selected as the base is because there are 10 characters ('a' to 'j') in the character set of the text; 'k' in pattern 'dak' would mean that there are more than 10 characters in the set, so the hashing function would change. That way, you wouldn't get spurious hits

    • @nikhilgoyal8340
      @nikhilgoyal8340 5 ปีที่แล้ว

      Jerry Barona thanks for the clarification. Totally overlooked this thing.

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

    Great video Sir!!But Please provide implementation of the algorithm at the end of the video

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

    Great explanation, it makes easy to understand logic, thank you sir

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

    11:42 pe sir ne aag lga di 💯💯💯💯💯

  • @أحمداشرففهميالنمر-خريج
    @أحمداشرففهميالنمر-خريج 3 ปีที่แล้ว

    Finally some good explanation.

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

    best video on rabin karp

  • @minhuctran9926
    @minhuctran9926 2 ปีที่แล้ว

    Very easy to understand sir , thanks you !

  • @ianthepro
    @ianthepro 6 ปีที่แล้ว

    Thanks so much, u broke it down and built it up gradually! i understand now

  • @raman-jn6yt
    @raman-jn6yt 4 ปีที่แล้ว

    understood in one go !!! thanks sir !!!

  • @jimmy1681000
    @jimmy1681000 5 ปีที่แล้ว

    I really learn a lot from you. Thanks a lot.

  • @mohammedabdulazeem5656
    @mohammedabdulazeem5656 2 ปีที่แล้ว

    Very Nice Explanation

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

    Mind blowing algorithm...🤯

  • @nickn1478
    @nickn1478 5 ปีที่แล้ว

    You're a great teacher.

  • @PiyushSingh-vx7bx
    @PiyushSingh-vx7bx 4 ปีที่แล้ว

    Amazing explanation . Hats off

  • @shreyaspotdar4918
    @shreyaspotdar4918 5 ปีที่แล้ว

    Thank you sir you made my day.
    Your explanation is just beautifull

  • @harleenkaur7751
    @harleenkaur7751 ปีที่แล้ว

    Thank you sir for the wonderful explanation..

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

    great sir, i really appreciate your work. providing such a good content for free needs a clean soul. i will ask viewers to purchase this course on udemy if you can to help him .