2011-06-16 5 views
10

संभव डुप्लिकेट:
What are the pitfalls in implementing binary search?बाइनरी खोज समस्याएं?

मैं Binary Search के लिए विकिपीडिया पृष्ठ ध्यानपूर्वक पढ़ने गया था और नीचे नुथ से एक उद्धरण पर ठोकर खाई:

"बाइनरी खोज के मूल विचार है हालांकि तुलनात्मक रूप से सीधा, विवरण आश्चर्यजनक रूप से मुश्किल हो सकता है "

मैं reca मेरे कंप्यूटर साइंस पाठ्यक्रम के हिस्से के रूप में कई बाइनरी खोजों को लागू करेगा, लेकिन यह बहुत मुश्किल नहीं है। हालांकि, इस आलेख में कहा गया है कि 9 0% सर्वेक्षित पेशेवर कई घंटों के बाद काम नहीं कर सकते हैं। मैं यह मानना ​​नहीं चाहता क्योंकि ये भयानक प्रोग्रामर हैं, लेकिन ऐसे कई मामले हैं जो निष्पक्ष कार्यान्वयन के लिए जिम्मेदार नहीं हैं।

नूह का विवरण क्या है? एक बाइनरी खोज एल्गोरिदम लागू करने के बारे में जागरूक होने के लिए आम गठिया क्या हैं?

नोट मैंने ब्लॉच द्वारा प्रोग्रामिंग मोती बग (मध्य बिंदु के लिए int का ओवरफ़्लो) के बारे में उस लेख को पढ़ा है। क्या कुछ और है?

+1

डुप्लिकेट के लिए नरक की तरह लग रहा था - मैं वादा करता हूं। समस्याओं का सामना करने, मुद्दों, लेकिन अनुमान लगाया गया कि पैसा शब्द 'pitfalls' – nsfyn55

+1

मैंने अभी पोस्ट किया है [डुप्लिकेट प्रश्न पर एक लंबा जवाब] (http://stackoverflow.com/questions/504335/what-are-the-pitfalls- इन-को लागू-द्विआधारी खोज/6393352 # 6393352)। लेकिन बाइनरी खोज गलत होने के सभी तरीकों को कवर करने के लिए पर्याप्त जवाब नहीं है। :-) – ShreevatsaR

+0

[यह एक लेख है] (http://www.paultaylor.eu/algorithms/binary.html) जो द्विआधारी खोज को लागू करने के कुछ अलग-अलग तरीकों को बताता है, और इसमें कुछ अभ्यास हैं कि एक बार व्यवहार कैसे बदलता है आप सीमाएं, तुलना आदि बदलते हैं – nawfal

उत्तर

3

मेरे दिन की नौकरी में जावा दुनिया में होने के नाते, मुझे this याद है। जब मैं इसे पहली बार पढ़ता था तो मैं बहुत आश्चर्यचकित था, इसलिए यह डोनाल्ड के बारे में बात करने वाली चीजों में से एक हो सकता है।

+4

वाह, Knuth आप के लिए "डोनाल्ड" है? ;-) – ShreevatsaR

+1

हे, जीभ की पर्ची, मुझे अपने बच्चों को हाल ही में एक निश्चित प्रसिद्ध फास्ट फूड में ले जाना पड़ा। – omermuhammed

2

द्विआधारी खोज की मुश्किल बात के लिए सबसे अच्छा संदर्भ में से एक Jon Bentley's Programming Pearls.

whole chapter 4 इस समस्या है, जो बाइनरी खोज के कई गलत संस्करणों से पता चलता पतों है।

उदा। आप अपनी क्वेरी x से अधिक या उसके बराबर पहला नंबर खोजना चाहते हैं। +1-1 में समस्याएं के बारे में सोचें। आप कैसे साबित कर सकते हैं कि आपकी प्रक्रिया बिल्कुल सही है?

इन समस्याओं के बारे में सोचता है और आप पाएंगे कि यह इतना आसान नहीं है।