3.8.4 · D1 · HinglishString Algorithms

FoundationsZ-algorithm — Z-array construction, O(n+m)

1,897 words9 min read↑ Read in English

3.8.4 · D1 · Coding › String Algorithms › Z-algorithm — Z-array construction, O(n+m)

Z-array banane se pehle tumhe kuch choti choti ideas mein fluent hona padega: ek string actually kya hoti hai numbered boxes ki row ke roop mein, ek prefix aur substring pictures mein kaisi dikhti hain, ek interval kahan point karta hai, aur iska kya matlab hai ke ek word ka ek hissa word ke beginning ka photocopy ho. Chalte hain, ek ek ko samjhte hain.


1. Ek string numbered boxes ki row hoti hai

se kyun shuru karein na ki se? Kyunki parent note ke har formula mein (jaise mirror ) calculation tab hi clean aati hai jab pehla box ho. Agar se count karein, toh har subtraction ek se off ho jaayegi aur algorithm toot jaayega.

Figure — Z-algorithm — Z-array construction, O(n+m)

Notation jo ab har jagah dikhegi:


2. Prefix, suffix, substring — ek slice ki teen shapes

Z-algorithm sirf ek khaas comparison ki parwah karta hai: ye ek aisi substring leta hai jo kisi index pe start hoti hai aur poochta hai ke uska kitna hissa prefix se agree karta hai. Toh in teeno mein se, prefix star hai aur index se start hone wali substring woh cheez hai jo hum uske saamne rakhte hain.

Figure — Z-algorithm — Z-array construction, O(n+m)

3. Matching, aur "agreement ki length"

Ab poore topic ki core baat — ek strip ko prefix ke against compare karna aur pehli disagreement pe rokna.

Figure — Z-algorithm — Z-array construction, O(n+m)

4. Interval — do numbers se ek strip point karna

Algorithm ek ki jagay do numbers kyun carry karta hai? Kyunki use ek poori stretch yaad rakhni hoti hai jo already verify ho chuki hai — ek single spot nahi. Pair woh minimum bookkeeping hai jo "yahan se yahan tak sab trusted hai" ko naam deta hai.

Figure — Z-algorithm — Z-array construction, O(n+m)

5. Zero, empty, aur degenerate cases

Koi bhi aisa scenario nahi aana chahiye jo foundations ne nahi dikhaya, isliye ye chote edge inputs hain:


6. Ye re-counting se behtar kyun hai — amortized cost, zero se

Parent ka linear-time claim is idea par tika hai (Amortized Analysis mein gehraai se samjhaya gaya hai): har real character comparison right edge ko ek aage push karta hai, sirf badhta hai, aur se aage nahi ja sakta. Toh poore algorithm mein total real comparisons at most hain — chahe koi single position kaafi zyada kaam kare.


Prerequisite map

String as numbered boxes

Index and character s of i

Prefix suffix substring

Match and length of agreement

Z of i definition

Interval l to r

Z-box photocopy of prefix

Mirror index i minus l

Z-algorithm

Amortized cost

Upar har ek foundation Z-algorithm — Z-array construction, O(n+m) parent note ko feed karta hai. Related string tools jo inhi ideas ko reuse karte hain: KMP failure function, String Hashing, Suffix Array, Suffix Automaton, Manacher's Algorithm. Hindi walkthrough prefer karte ho? Dekho 3.8.04 Z-algorithm — Z-array construction, O(n+m) (Hinglish).


Equipment checklist

diya hua hai, kya hai?
Character (0-indexed, toh box teesra box hai).
ka kya matlab hai?
Index se index tak inclusive boxes ki strip — yahan .
Kisi string ka prefix kya hota hai?
Koi bhi strip jo index se start ho aur kuch door tak right mein jaaye.
Ek sentence mein, kya maapata hai?
Index se start karke, pehli disagreement se pehle prefix se match karne wale boxes ki sankhya.
Interval kahan point karta hai?
Address se address tak inclusive boxes ki strip.
ko "Z-box" kya banata hai?
Strip prefix ke barabar prove ho chuki hai — beginning ka ek photocopy.
Agar ek Z-box ke andar hai, toh uska mirror index kya hai?
, front ke paas woh matching address.
Box ke andar ek fact kyun hai, guess nahi?
Kyunki box prefix ka photocopy hai, toh left edge se same distance matlab same character.
kya count karta hai?
Position se right edge tak boxes ki sankhya, inclusive.
ka kya matlab hai?
wala character immediately se disagree karta hai — zero boxes prefix se match karte hain.
Ek line mein, total cost kyun hai?
Har real comparison ko aage push karta hai, sirf badhta hai aur pe cap hai, toh poore mein at most comparisons hote hain.