कोडिंग साक्षात्कार की तैयारी · पाठ

Pattern Search के लिए Z-Function

पूरी string में prefixes का मिलान करें

पाठ 3, कुल 4 में से13 चरण

Pattern Search के लिए Z-Function, CoddyKit पर कोडिंग साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह कोडिंग साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

मिलान का एक और औजार

Z-फ़ंक्शन पैटर्न खोज के लिए KMP का एक सरल विकल्प है। कई लोगों को इसके बारे में तर्क करना आसान लगता है। ✨

z[i] का अर्थ

हर इंडेक्स के लिए, z[i] i से शुरू होने वाली उस सबसे लंबी उपस्ट्रिंग की लंबाई है जो पूरी स्ट्रिंग के किसी उपसर्ग से भी मेल खाती है।

एक छोटा उदाहरण

aabaab के लिए z का क्रम 0,1,0,3,1,0 है। इंडेक्स 3 पर aab वाला क्रम उपसर्ग से मेल खाता है, इसलिए लंबाई 3 मिलती है।

Z-बॉक्स

हम [l, r] नामक एक खंड पर नज़र रखते हैं, जो अब तक मिला सबसे दाईं ओर का मिलान है। इससे पहले की गई तुलनाओं का फिर से उपयोग किया जा सकता है।

l, r = 0, 0

बॉक्स के अंदर

जब i बॉक्स के अंदर होता है, तो आप ज्ञात z मान को शुरुआती बढ़त के रूप में ले लेते हैं, लेकिन उसे बॉक्स की सीमा तक ही रखते हैं।

if i < r:
    z[i] = min(r - i, z[i - l])

बॉक्स से आगे बढ़ाना

शुरुआती बढ़त के बाद, जब तक अक्षर उपसर्ग से मेल खाते रहें, आप एक-एक करके उनकी तुलना करते रहते हैं।

while i + z[i] < n and s[z[i]] == s[i + z[i]]:
    z[i] += 1

बॉक्स को आगे खिसकाना

यदि आपका मिलान और दाईं ओर तक पहुँचता है, तो l और r को अद्यतन कीजिए, ताकि आगे के इंडेक्स उसका फिर से उपयोग कर सकें।

if i + z[i] > r:
    l, r = i, i + z[i]

रैखिक समय की गारंटी

बॉक्स केवल दाईं ओर बढ़ता है, इसलिए कुल कार्य O(n) होता है। हर अक्षर का योगदान सीमित रहता है।

Z से खोज

पैटर्न + विभाजक + टेक्स्ट को जोड़कर Z चलाइए। पैटर्न की लंबाई के बराबर कोई भी z मान मिलान दर्शाता है।

combined = pattern + chr(0) + text
z = z_function(combined)

मिलान पढ़ना

Z-सरणी को देखिए; जहाँ भी z[i] == len(pattern) हो, वहाँ मिलान टेक्स्ट में संबंधित स्थान से शुरू होता है।

if z[i] == len(pattern):
    matches.append(i - len(pattern) - 1)

Z बनाम KMP

Z और KMP दोनों रैखिक समय में चलते हैं। Z का कोड लिखना अक्सर सरल होता है, इसलिए यह आपके औजार-संग्रह में एक अच्छा वैकल्पिक उपाय है।

त्वरित जाँच

सुनिश्चित कीजिए कि Z-सरणी का अर्थ आपको अच्छी तरह समझ में आ गया है।

पुनरावलोकन: Z-फ़ंक्शन की जीत

आपने खिसकते हुए बॉक्स की सहायता से Z-सरणी बनाई, रैखिक समय में खोज की और अब आपके पास KMP का एक सरल विकल्प है। 🎯

शुरुआत निःशुल्क

एआई शिक्षक के साथ कोडिंग साक्षात्कार की तैयारी सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
90
पाठ
360

अक्सर पूछे जाने वाले प्रश्न

क्या “Pattern Search के लिए Z-Function” पाठ निःशुल्क है?

हाँ—“Pattern Search के लिए Z-Function” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Pattern Search के लिए Z-Function” में मैं क्या सीखूँगा?

पूरी string में prefixes का मिलान करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ कोडिंग साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या कोडिंग साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर कोडिंग साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“Pattern Search के लिए Z-Function” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस कोडिंग साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर कोडिंग साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. KMP Prefix Function
  2. Polynomial String Hashing
  3. Pattern Search के लिए Z-Function
  4. Prefix Lookups के लिए Tries
← कोडिंग साक्षात्कार की तैयारी पर वापस जाएँ