3.8.1 · D3 · HinglishString Algorithms

Worked examplesNaive pattern matching — O(nm)

2,992 words14 min read↑ Read in English

3.8.1 · D3 · Coding › String Algorithms › Naive pattern matching — O(nm)

Shuru karne se pehle, ek reminder un vocabulary ka jo hum har jagah reuse karenge (sab parent mein defined hain):

  • ==== = text, length ====. Likha jata hai (0-indexed).
  • ==== = pattern, length ====, jahan .
  • ==shift == = ek candidate starting position; valid hota hai jab .
  • comparison = ek single "kya equal hai se?" test. Hum kaam measure karne ke liye inhe lete hain.

Scenario matrix

Naive matching ke har input ko inhi case classes mein se kisi ek mein rakha ja sakta hai. Har row ek alag cheez hai jo galat ho sakti hai ya specially behave karti hai, aur har ek ka ek worked example neeche diya gaya hai.

# Case class Isme kya khaas hai Example
A Single clean match pattern exactly ek baar appear karta hai Ex 1
B No match at all answer empty set hai Ex 2
C Overlapping matches matches jinke ranges characters share karte hain Ex 3
D Worst case har shift fail hone se pehle poora pay karta hai Ex 4
E Best/lucky case almost har shift char 0 par hi mar jata hai Ex 5
F Degenerate: pattern ek single character hai Ex 6
G Degenerate: pattern poore text ki length ka hai Ex 7
H Degenerate: empty pattern formula ki limiting boundary Ex 8
I Real-world word problem DNA / search feature Ex 9
J Exam twist: comparisons exactly gino "kahan" nahi balki "kitna kaam" Ex 10

Hum har cell cover karenge.


Ex 1 — Case A: ek single clean match


Ex 2 — Case B: koi match nahi


Ex 3 — Case C: overlapping matches


Ex 4 — Case D: sach mein worst case

Dono extremes ko side by side dekho:


Ex 5 — Case E: lucky / near- case


Ex 6 — Case F: single-character pattern ()


Ex 7 — Case G: pattern utna hi lamba jitna text ()


Ex 8 — Case H: empty pattern ()



Ex 10 — Case J: exam twist — exactly gino, sirf locate mat karo


Recall Tumhare liye kaunsa cell sabse mushkil tha?

Answers reveal karo inhe lock karne ke liye. Ex 3 vs Ex 9 — kya matches overlap karte hain? ::: Ex 3 overlap karta hai ( letters share karte hain); Ex 9 nahi karta ( exactly apart hain). Ex 4 vs Ex 5 — dono ka koi match nahi tha; cost alag kyun? ::: Ex 4 ka pattern prefix AAA text se match karta hai toh break kabhi jaldi fire nahi hota (); Ex 5 ka pehla letter A rare hai toh har shift char 0 par mar jaata hai (). Length n ke text ke liye kitne empty-pattern matches? ::: (har position par ek), se ke saath.


Connections

  • Naive pattern matching — O(nm) — wo parent jiske algorithm ko humne har case par exercise kiya.
  • KMP Algorithm — Ex 4 ke worst case ko matched info reuse karke beat karta hai.
  • Boyer-Moore Algorithm — Ex 5-style cases ko aur bhi zyaada beat karta hai aage skip karke.
  • Rabin-Karp Algorithm — char-by-char ki jagah hashing se poori windows compare karta hai.
  • Big-O Notation — " worst, lucky" ki language.
  • Sliding Window Technique — har example ke peeche "pattern slide karo" ka motion.
  • Substring Search Problem — wo umbrella problem jise saare das examples instantiate karte hain.

Case Map

yes

no

rare in T

prefix matches often

normal

Any T and P

is m zero

Empty pattern n+1 matches Ex8

how does P0 fit T

Lucky near O n Ex5

Worst case Theta nm Ex4

Slide and spell

Single match Ex1

No match Ex2

Overlapping matches Ex3

DNA motif Ex9

Count comparisons Ex10

m equals 1 scan Ex6

m equals n equality Ex7