Bugs के बिना Classic Binary Search
low, high और mid वाले loop में निपुण बनें
Bugs के बिना Classic Binary Search, CoddyKit पर कोडिंग साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह कोडिंग साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
खोज-क्षेत्र को आधा करें
द्विआधारी खोज क्रमबद्ध सूची में प्रत्येक चरण पर परास को आधा करके कोई मान खोजती है। इससे धीमी O(n) जाँच तेज़ O(log n) खोज में बदल जाती है।
a = [1, 3, 5, 7, 9] # must be sortedक्रमबद्धता ही मूल नियम है
द्विआधारी खोज केवल क्रमबद्ध डेटा पर काम करती है। यदि सूची अक्रमबद्ध है, तो पहले उसे sort करें, वरना परिणाम निरर्थक और गलत होगा।
a.sort() # ascending order requiredदो सीमाएँ
दो संकेतकों से शुरू करें: low अनुक्रमांक 0 पर और high अंतिम अनुक्रमांक पर। यदि लक्षित मान मौजूद है, तो वह हमेशा इनके बीच होगा।
low, high = 0, len(a) - 1मध्य सुरक्षित रूप से खोजें
mid को low + (high - low) // 2 के रूप में निकालें। Python में अतिप्रवाह समस्या नहीं है, लेकिन यह रूप हर जगह सुरक्षित आदत है।
mid = low + (high - low) // 2तीन परिणाम
a[mid] की तुलना लक्ष्य से करें। या तो आपने उसे खोज लिया, वह बहुत छोटा है, या बहुत बड़ा है। प्रत्येक स्थिति परास को अलग तरह से छोटा करती है।
if a[mid] == target:
return midबहुत छोटा हो तो दाईं ओर जाएँ
यदि a[mid] लक्ष्य से छोटा है, तो उत्तर दाईं ओर ही होगा। low को mid + 1 पर ले जाएँ और बाएँ आधे हिस्से को हटा दें।
elif a[mid] < target:
low = mid + 1बहुत बड़ा हो तो बाईं ओर जाएँ
यदि a[mid] लक्ष्य से बड़ा है, तो बाएँ आधे हिस्से में खोजें। high को mid - 1 पर ले जाएँ, ताकि mid की दोबारा जाँच न हो।
else:
high = mid - 1लूप की शर्त
जब तक low, high से छोटा या उसके बराबर हो, तब तक आगे बढ़ते रहें। जब दोनों एक-दूसरे को पार कर जाते हैं, तो परास खाली होता है और लक्ष्य मौजूद नहीं होता।
while low <= high:
mid = low + (high - low) // 2न मिलने की सूचना दें
यदि लूप बिना मिलान के समाप्त हो जाए, तो मान मौजूद नहीं है। परंपरा के अनुसार -1 लौटाएँ, ताकि कॉल करने वाला सफलता और विफलता में अंतर कर सके।
return -1 # target not in listएक-से-अधिक की गलती से सावधान रहें
सामान्य गलती संकेतक को आगे बढ़ाते समय +1 या -1 भूल जाना है। इसे छोड़ देने पर mid की जाँच हमेशा दोहरती रहती है और अनंत लूप बन जाता है।
low = mid + 1 # not low = midजहाँ संभव हो, लाइब्रेरी का उपयोग करें
साधारण सदस्यता-जाँच के लिए Python का bisect मॉड्यूल पहले से ही त्रुटिरहित खोज देता है। केवल तभी लूप स्वयं लिखें जब आपको विशेष तर्क चाहिए।
import bisect
i = bisect.bisect_left(a, target)त्वरित जाँच
विचार करें कि कौन-सी बात लूप को सही ढंग से चलाए रखती है।
पुनरावलोकन: बिना त्रुटियों के खोज
अब आप low और high निर्धारित कर सकते हैं, mid को सुरक्षित रूप से निकाल सकते हैं, सही हिस्से को छोटा कर सकते हैं और एक-से-अधिक की गलती से बच सकते हैं। लघुगणकीय खोज अब आपकी है। 🎯
एआई शिक्षक के साथ कोडिंग साक्षात्कार की तैयारी सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 90
- पाठ
- 360
अक्सर पूछे जाने वाले प्रश्न
क्या “Bugs के बिना Classic Binary Search” पाठ निःशुल्क है?
हाँ—“Bugs के बिना Classic Binary Search” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Bugs के बिना Classic Binary Search” में मैं क्या सीखूँगा?
low, high और mid वाले loop में निपुण बनें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ कोडिंग साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या कोडिंग साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर कोडिंग साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Bugs के बिना Classic Binary Search” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस कोडिंग साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर कोडिंग साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Bugs के बिना Classic Binary Search
- bisect_left और bisect_right
- First True: Predicate Binary Search
- Answer पर Binary Search