9.2 Rabin-Karp String Matching Algorithm

Поделиться
HTML-код
  • Опубликовано: 29 янв 2025

Комментарии • 451

  • @pushpakwakode5902
    @pushpakwakode5902 2 года назад +122

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

    • @Nishu-666
      @Nishu-666 Месяц назад

      kitne marks aaye fir bro??

    • @LifeIsFreedomNotCage
      @LifeIsFreedomNotCage Месяц назад +1

      @@Nishu-666 tu padhle kal exam hai 9 baje

    • @Nishu-666
      @Nishu-666 Месяц назад +2

      @@LifeIsFreedomNotCage mast gaya mera already

  • @shantanubapat6937
    @shantanubapat6937 5 лет назад +226

    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?

  • @AsifKhan-yn2wp
    @AsifKhan-yn2wp 3 года назад +24

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

  • @nandkishorenangre8244
    @nandkishorenangre8244 6 лет назад +440

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

  • @Fatality_Retired
    @Fatality_Retired 3 года назад +13

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

  • @xdewtr
    @xdewtr 6 лет назад +18

    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.

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

  • @dipchakraborty71
    @dipchakraborty71 5 лет назад +637

    night before the algorithm exam :D

  • @Anaximander29A
    @Anaximander29A 5 лет назад +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!

  • @cristiangomez7807
    @cristiangomez7807 5 лет назад +19

    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

  • @norielgalang1123
    @norielgalang1123 3 года назад +13

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

  • @xiaoweidu4667
    @xiaoweidu4667 3 года назад +25

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

  • @vishalc832
    @vishalc832 8 месяцев назад +6

    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

  • @EvanMilliken
    @EvanMilliken 4 месяца назад +3

    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.

  • @VishalKumar-pk9ek
    @VishalKumar-pk9ek 4 года назад +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.

  • @minyoonara
    @minyoonara 2 года назад +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!

  • @vishaldas9312
    @vishaldas9312 Год назад +11

    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

  • @bigbrain4071
    @bigbrain4071 2 года назад +108

    Night before DAA exam

  • @joseantoniomartinezquinto5711
    @joseantoniomartinezquinto5711 5 лет назад +5

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

  • @ShivShankar-ut4ul
    @ShivShankar-ut4ul 8 месяцев назад

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

  • @gopalmer7116
    @gopalmer7116 5 лет назад +2

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

  • @siddharthupadhyay4246
    @siddharthupadhyay4246 2 года назад +1

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

  • @dipkumardas3941
    @dipkumardas3941 11 месяцев назад +1

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

  • @m.aldakheel803
    @m.aldakheel803 4 года назад +2

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

  • @ieetscode5318
    @ieetscode5318 3 года назад +1

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

  • @therealajmelmuadz
    @therealajmelmuadz 8 месяцев назад

    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.

  • @Mumma90
    @Mumma90 6 лет назад +10

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

  • @nishtha27
    @nishtha27 6 лет назад +16

    Such patience, thank you, great explanation!

  • @cy7602
    @cy7602 3 года назад

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

  • @pkyadav6230
    @pkyadav6230 Год назад +1

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

  • @JEDhanraj
    @JEDhanraj 3 года назад +1

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

  • @dhrumilsports3522
    @dhrumilsports3522 4 года назад +3

    Thanks sir. Teachers like you makes our lifes easy 🙏

  • @lorisferragosto6488
    @lorisferragosto6488 3 года назад +4

    Great content sir...love from Switzerland

  • @shaunakjoshi9313
    @shaunakjoshi9313 4 года назад +10

    Bravo sir, this is an epic explanation!

  • @Celebs-xyz
    @Celebs-xyz 2 месяца назад +3

    Even my teacher also learning from him😄

  • @FranciscoJesusNicolasVegaPorta
    @FranciscoJesusNicolasVegaPorta 3 месяца назад +1

    best video ever for understanding this. Many thanks!! :)

  • @ASIFAlI-lq4rd
    @ASIFAlI-lq4rd Год назад

    one of the best and only teacher in thw world.

  • @nikkm2000
    @nikkm2000 22 дня назад

    One confirmation required sir-> at time 11:01, maximum time in case of spurious hit would be O(n-m+1)m.

  • @kirubelmelak7143
    @kirubelmelak7143 4 года назад +2

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

  • @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

  • @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 🙏🙏🙏🙏

  • @desifun9321
    @desifun9321 6 лет назад +1

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

  • @simonchan858
    @simonchan858 2 года назад

    You are so smart and presents all things clearlly

  • @muhdkhairulamirinum3985
    @muhdkhairulamirinum3985 9 месяцев назад

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

  • @saurabhsoni738
    @saurabhsoni738 3 года назад +1

    Very good explanation , it cleared all doubts

  • @RpgSkiTzO
    @RpgSkiTzO 4 года назад

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

  • @mohamadhosseinfakharan
    @mohamadhosseinfakharan Год назад

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

  • @SarbojitGanguly
    @SarbojitGanguly 5 лет назад +3

    Fantastic explanation sir. Helped me immensely.

  • @zxborg9681
    @zxborg9681 Год назад

    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!

  • @khushboosharma5417
    @khushboosharma5417 3 года назад

    You always make every problem simple and interesting!!!

  • @ShubhamKumar-lb4ou
    @ShubhamKumar-lb4ou Месяц назад

    In the hash function defined by robin... you can just take the hash value of each element and put them in order for example abc (a=1,b=2,c=3) will have code of 123.... you can do the same while matching the hash code from string to save time

  • @ashishsinha8893
    @ashishsinha8893 6 лет назад +2

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

  • @shikharmalik1622
    @shikharmalik1622 5 лет назад +113

    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 4 года назад +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.

  • @Jaffer420
    @Jaffer420 2 года назад

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

  • @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

  • @frankop3857
    @frankop3857 3 года назад +1

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

  • @thefuntech2810
    @thefuntech2810 5 лет назад +2

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

  • @abdulrafay2420
    @abdulrafay2420 2 года назад

    Behtreen hogaya bari bhai❤❤

  • @koyavasudhalakshmi2073
    @koyavasudhalakshmi2073 3 года назад +2

    Very helpful sir, very clearly understood sir🙏🙏🙏

  • @Rohitrootn
    @Rohitrootn Год назад +3

    Was asked in oracle interview

  • @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)..

  • @himanichoudhary652
    @himanichoudhary652 Год назад

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

  • @dhrroovv
    @dhrroovv 6 месяцев назад

    best explanation of rabin karp algorithm!

  • @nnamdiwilliams1498
    @nnamdiwilliams1498 Год назад

    This was very helpful. Thank you Abdul.

  • @reethik2759
    @reethik2759 3 года назад +1

    🐐 Greatest of All Time

  • @todxzayn4832
    @todxzayn4832 9 месяцев назад +19

    Tmr is my DAA exam 😂

  • @mateuszjanik9646
    @mateuszjanik9646 9 месяцев назад

    This was very clear and understandable for me :)

  • @reyazahmed9320
    @reyazahmed9320 6 лет назад

    Great work. Made the algo crystal clear

  • @javateam9818
    @javateam9818 3 года назад

    Great teacher and great teaching method

  • @soicooc3500
    @soicooc3500 Год назад

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

  • @nickwalton1109
    @nickwalton1109 3 года назад

    Excellent style of instruction

  • @ViswanathanMurugesh
    @ViswanathanMurugesh Год назад

    Great Lecturer. Super clear and keep it up.

  • @ianthepro
    @ianthepro 6 лет назад

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

  • @namandeepsinghhora8956
    @namandeepsinghhora8956 6 лет назад

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

  • @Anubis10110
    @Anubis10110 6 лет назад +2

    Great gradual explanation, thank you so much sir.

  • @jatinkumar4410
    @jatinkumar4410 4 года назад

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

  • @dr.joychristya8937
    @dr.joychristya8937 4 года назад +1

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

  • @synthesis9455
    @synthesis9455 2 месяца назад +1

    Thank you sir for the explanation!

  • @exoticme4760
    @exoticme4760 4 года назад

    you the best

  • @aditigupta2684
    @aditigupta2684 4 года назад +1

    Very wonderful explaination sir 🤗

  • @sarthakbhatia7888
    @sarthakbhatia7888 5 лет назад +5

    Why was the average time theta(n-m+1)? 7:49

    • @ksenijasokic3464
      @ksenijasokic3464 5 лет назад +3

      When you do n-m, you are left with end of a string length of m, and that is just one more check, so you have n-m+1

    • @sarthakbhatia7888
      @sarthakbhatia7888 4 года назад

      Ok got it.We are going from 0 to n-m so time is n-m+1

  • @md.sabbirahmed9029
    @md.sabbirahmed9029 6 лет назад

    I am fan of your teaching.

  • @janvisingla3746
    @janvisingla3746 5 лет назад +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

  • @hari70707
    @hari70707 9 месяцев назад +1

    Its 1:24 pm, 2 may 2024... Test starts at 2.00pm... learning for first time😂

  • @DJD1001
    @DJD1001 2 месяца назад +1

    Tomorrow is my DAA exam at 9:30 sharp and I am watching this 😂

  • @coolboygfx
    @coolboygfx 4 года назад

    Best explanation I found.

  • @youtube.comvideo2490
    @youtube.comvideo2490 6 лет назад +10

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

  • @asishcodes
    @asishcodes 2 года назад

    You are an amazing teacher

  • @qayyumblazer
    @qayyumblazer 3 года назад

    good explaination also you look like an indian pablo escobar without moustache

  • @sarfarazalam6077
    @sarfarazalam6077 5 лет назад

    Great explanation sir!!! Big fan of yours.

  • @jimmy1681000
    @jimmy1681000 5 лет назад

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

  • @anujapatil1485
    @anujapatil1485 5 лет назад +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 4 года назад

      @@iubob98 no

    • @cemtunaboylu8421
      @cemtunaboylu8421 2 года назад

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

  • @nikhilgoyal8340
    @nikhilgoyal8340 6 лет назад +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.

  • @assassinator3747
    @assassinator3747 5 лет назад +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 .

  • @raman-jn6yt
    @raman-jn6yt 4 года назад

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

  • @jaylenzhang4198
    @jaylenzhang4198 4 года назад

    Thank you! From your video, I have learned so much!

  • @jun_1248
    @jun_1248 6 месяцев назад

    He was my teacher at MJCET. Good old days.

  • @jaikumargupta1368
    @jaikumargupta1368 Месяц назад +1

    11:27 lecture starts

  • @MrSaiyah007
    @MrSaiyah007 4 года назад +2

    In the example of the hash function used on the video, how are we going to handle overflow for very large strings, since we keep summing the length*pow(ascii, m-x) ?