बाइनरी सर्च को बाइनरी सर्च क्यों कहा जाता है?


9

मैंने कई संभावित स्पष्टीकरणों को सुना, इसलिए मुझे कुछ भरोसेमंद संदर्भ चाहिए।

अपडेट ०५.१ ९: मुझे इस सवाल में दिलचस्पी है क्योंकि मेरे एक छात्र ने अपनी थीसिस में लिखा है कि नाम नीचे दिए गए स्पष्टीकरण (१) से आया है। अब तक मैंने सोचा / सुना है कि यह स्पष्टीकरण (2) से आता है। मुझे उसकी थीसिस में गलत बात बताने के लिए बुरा लगेगा, साथ ही उसे यह बताने के लिए कहा कि अगर यह सही हो सकता है।

(1) अंतराल में पूर्णांक के लिए खोज पर विचार करें [0,2n1]। हम इसका उपयोग करके पा सकते हैंn कदम में पूछकर सवाल i ith संख्या का द्विआधारी अंक।

(२) यदि हमारे पास कोई खोज स्थान है 2nतत्वों, हम एक अज्ञात तत्व को उन सवालों से पा सकते हैं जो बार-बार अंतरिक्ष के शेष भाग को दो में विभाजित करते हैं ।

और हाँ, मुझे पता है कि (2) समान एल्गोरिथ्म (1) दे सकता है, लेकिन यहाँ वह बात नहीं है। (2) अधिक सामान्य समस्याओं के लिए भी आवेदन किया जा सकता है।


1
कृपया, कृपया ध्यान दें कि प्रश्न संदर्भों के लिए पूछता है। कृपया यह कहते हुए जवाब न दें कि यह विश्वसनीय स्रोत दिए बिना ऐसे-और-ऐसे कारण के कारण है।
डेविड रिचेर्बी

1
@DavidRicherby, नहीं, "भरोसेमंद" संदर्भ की मांग के लिए जिज्ञासा पर्याप्त प्रेरणा नहीं है। जिज्ञासा यह पूछने के लिए पर्याप्त प्रेरणा होगी कि "बाइनरी सर्च को बाइनरी सर्च क्यों कहा जाता है?", लेकिन यह एक संदर्भ / विश्वसनीय स्रोत की मांग करने के लिए पर्याप्त कारण नहीं है, और यह कहने के लिए पर्याप्त कारण नहीं है "स्पष्टीकरण के साथ जवाब न दें; मैं केवल विश्वसनीय स्रोत चाहते हैं ”। यदि ओपी कई परस्पर विरोधी स्पष्टीकरणों के साथ आया है, तो ओपी हमें उनके बारे में सवाल में बताएं (ध्यान दें। Math.SE प्रश्न परस्पर विरोधी स्पष्टीकरण का कारण नहीं था)।
DW

3
मुझे लगता है कि आपको अपने स्पष्टीकरण के साथ शुरुआत करनी चाहिए। हमें उस भरोसे के बारे में पता होना चाहिए जो उन्हें मिलना चाहिए। और यह मदद कर सकता है यदि आपने अपना खुद का दिया, अधिमानतः सटीक, जिसे आप द्विआधारी खोज कहते हैं, की परिभाषा, ताकि हम एक ही अवधारणा की बात करना सुनिश्चित कर सकें, या वैकल्पिक रूप से ऐसी परिभाषा का संदर्भ दे सकें।
बबौ

2
नथुना TAoCP का वॉल्यूम 3, कोई भी? मेरा कार्यालय में है ...
हेंड्रिक जनवरी

जवाबों:


1

स्पष्टीकरण (2) एक अच्छी व्याख्या है।

(2) दोनों की बेहतर व्याख्या है, क्योंकि यह आम तौर पर बाइनरी खोज के सभी उपयोगों पर लागू होता है, न कि केवल एक विशिष्ट उदाहरण के लिए। (१) इसके बारे में सोचने का कोई अनुचित तरीका नहीं है - यह सिर्फ (२) के रूप में सामान्य या पूर्ण नहीं है।

मुझे नहीं लगता कि इस कथन को सही करने के लिए आपको छात्र की आवश्यकता महसूस करने की आवश्यकता है। यह शर्मनाक नहीं होगा यदि कोई छात्र अपने शोध में स्पष्टीकरण (1) देता है, तो आपको बुरा महसूस करने की आवश्यकता नहीं है। लेकिन अगर आप उन्हें कुछ सिखाना चाहते हैं, तो आप उन्हें स्पष्टीकरण (2) के बारे में बता सकते हैं और बाइनरी खोज कैसे अधिक सामान्य है और क्यों "बाइनरी खोज" नाम सामान्य एल्गोरिथ्म के लिए भी उचित है। लेकिन यह एक मामूली बात है और ऐसा कुछ नहीं है जिसे मैं समस्याग्रस्त या शर्मनाक मानूंगा, अगर वे चीजों को छोड़ दें।


कोई रेफरी! एक ऐतिहासिक प्रश्न की तरह लगता है :(
vzn

1

विकिपीडिया के अनुसार, द्विआधारी खोज क्रमबद्ध मानों की एक सरणी में खोज की चिंता करता है।

खोज स्थान को बार-बार विभाजित करके खोज को विभाजित करने और जीतने की अधिक सामान्य अवधारणा को डाइकोटोमिक खोज कहा जाता है (शाब्दिक रूप से: "जो दो में कटौती करता है")। डाइकोटोटॉमी के उपयोग को अन्य संदर्भों में माना जा सकता है, क्योंकि सोन आपको विभाजित करने के लिए कुछ है। यह वास्तव में पहली अभिव्यक्ति है जिसे मैंने सीखा है (हाई स्कूल में, मुझे लगता है, और यह बहुत पहले था), उन मामलों में भी शामिल है जहां आप इसे द्विआधारी कह सकते हैं।

आफ़िक, "डाइकोटोमिक" का अर्थ यह नहीं है कि दोनों भाग (लगभग) बराबर हैं।

मुझे नहीं पता है कि बाइनरी आकार के स्थान में खोज करने के लिए आरक्षित है 2n

डाइकोटोमिक स्पष्ट रूप से अधिक सामान्य शब्द है, लेकिन यह कुछ लोगों को पांडित्यपूर्ण लग सकता है जो बाइनरी का अनुचित उपयोग कर सकते हैं।

आपका उदाहरण (1) अजीब रूप से कहा गया है, क्योंकि कोई व्यक्ति सचेत रूप से द्विआधारी अंक नहीं मांगता है, बल्कि एक अंतराल के माध्यिका के साथ तुलना करता है। लेकिन यह बाइनरी के रूप में योग्य हो सकता है।

Youe उदाहरण (2) अस्पष्ट है। बस दो में विभाजित करने को द्विबीजपत्री कहा जाना चाहिए। अब, जैसा कि आप 2 समान भागों को बनाने का एक तरीका (अजीब तरह से) परिकल्पना करते हैं, मुझे यकीन नहीं है।

लेकिन एक अनुमान लगाने का खेल, जहां लोग ऐसे प्रश्न पूछते हैं जिनका उत्तर हां या ना में दिया जाता है।

मेरा अपना अनुमान, कोई संदर्भ नहीं:

मूल अभिव्यक्ति शायद "द्विध्रुवीय" थी, लेकिन बाइनरी सिस्टम, बाइनरी कंप्यूटर, आदि की लोकप्रियता के साथ, "बाइनरी" शब्द अधिक लोकप्रिय है।

एक अन्य कारक जिसने एक महत्वपूर्ण भूमिका निभाई हो सकती है वह है बाइनरी सर्च (साथ ही डाइकोटोमिक) द्विआधारी विकल्प पर आधारित है। अब अभिव्यक्ति " द्विस्तरीय विकल्प " मौजूद है, लेकिन " बाइनरी पसंद " की तुलना में बहुत कम उपयोग किया जाता है , जो वेब पर लगभग 6 गुना अधिक बार दिखाई देते हैं।

तो इसने उसको प्रभावित किया होगा। हमें याद रखना चाहिए कि यद्यपि हम बाइनरी नंबर में बड़े पैमाने पर डूबे हुए हैं (मेरा मतलब है कि हम, कंप्यूटर वैज्ञानिक), ज्यादातर लोग बाइनरी नंबर से संबंधित नहीं हैं और न ही हैं, लेकिन आसानी से बाइनरी पसंद की बात करेंगे। यह सच है कि बाइनरी खोज कंप्यूटर वैज्ञानिक के लिए एक विषय है, लेकिन इसके विपरीत एक विश्वसनीय संदर्भ से कम मुझे विश्वास नहीं होगा कि यह किसी भी प्रत्यक्ष तरीके से बाइनरी नंबर से आता है।


"विकिपीडिया के अनुसार, द्विआधारी खोज क्रमबद्ध मानों की एक सरणी में खोज की चिंता करता है।" - ठीक है, यह नहीं है कि मैं विकिपीडिया कैसे पढ़ता हूं। अगर विकिपीडिया कहता है कि इसे बाइनरी खोज के रूप में गिनने के लिए एक सरणी में होना है, तो, मुझे लगता है कि विकिपीडिया इस पर बहस करने योग्य है - लेकिन विकिपीडिया लेख ऐसा नहीं कहता है। आगे विकिपीडिया लेख में कहा गया है कि बाइनरी सर्च "एक बिंदु के लिए किसी भी मोनोटोनिक फ़ंक्शन के तर्क को खोजने की अनुमति देता है, जिस पर फ़ंक्शन मनमाना मूल्य तक पहुंचता है" - जो किसी सरणी में खोज नहीं है।
डीडब्ल्यू

"खोज स्थान को बार-बार विभाजित करके खोज को विभाजित करने और जीतने की अधिक सामान्य अवधारणा को डाइकोटोमिक खोज कहा जाता है" - यह मेरे स्वयं के अनुभव से मेल नहीं खाता है। मैं नियमित रूप से इसे बाइनरी सर्च कहते हैं।
डीडब्ल्यू

@DW जैसा कि मैंने आपको पहले बताया था, मेरी याददाश्त पर भरोसा करने के लिए बहुत कुछ नहीं है। लेकिन द्विआधारी खोज, या यहां तक ​​कि विभाजित और जीतना एल्गोरिदम शब्दावली है जो कंप्यूटर के साथ हमारे पास आया था। लेकिन मुझे लगता है कि जब मैं पहली बार द्विध्रुवीय खोज के बारे में सुना था, तो आसपास कई कंप्यूटर नहीं थे, फिर एक अच्छा मुद्रित संदर्भ मेरी (एफ) बीमार स्मृति से बहुत बेहतर होगा। विकिपीडिया के बारे में, मैंने पूरा लेख नहीं पढ़ा। मूल रूप से मैंने नहीं सोचा था कि मुझे एक निश्चित उत्तर मिलेगा ... और मुझे कुछ संदेह है कि एक है। विचार सामान्य है, शब्दावली अच्छी है, और प्रत्येक के लिए अनुकूलित किया जाना चाहिए जो भी समस्या हाथ में है।
बबौ

1

Knuth (V.3 Pg 82) द्विआधारी खोज के लिए स्रोत के रूप में मौली देता है; यह एक प्रकार के दौरान सम्मिलन बिंदु को खोजने के लिए उपयोग किया जाता है जो तब बाइनरी सम्मिलन नामक एक प्रक्रिया में, रिक्ति बनाने के लिए आगे तत्वों को फेरबदल करता है।

तो (2) मान्य होगा, लेकिन मैं मूल कागज नहीं देख सकता; यह यहाँ अस्पष्ट है: https://books.google.com/books?id=A6EEAQAAIAAJ&focus=searchwithinvolume&q=sorting+and+collating


1

मैंने नुथ द्वारा उद्धृत मौचली संदर्भ को देखने की कोशिश की, लेकिन मेरी लाइब्रेरी को लगता है कि उनकी प्रति गलत है।

इस बीच, "बाइनरी खोज" के लिए निम्नलिखित प्रारंभिक-ईश उद्धरणों पर विचार करें:

  • हेल्परन, मार्क। " बाइनरी-सर्च सुविधा के साथ परिवर्तनीय-चौड़ाई वाली टेबल। " एसीएम 1.2 (1958) के संचार: 1-4।

    इस रिपोर्ट में वर्णित सबरूटीन्स के परिवार को टेबल बनाने, खोज करने और बनाए रखने के लिए डिज़ाइन किया गया था, जिसमें विभिन्न लंबाई की प्रविष्टियाँ होती हैं, और फिर भी विभाजन, या "बाइनरी" खोज के लिए खोज योग्य नहीं है।

  • नाग्लर, एच। " दो आंतरिक छँटाई विधियों की सापेक्ष दक्षता का एक अनुमान। " ACM 3.11 (1960) के संचार: 618-620।

    यह रिपोर्ट आईबीएम 705, मॉडल I और II की चिंता करती है। यह दो आंतरिक छँटाई विधियों, पारंपरिक दो-तरफा मर्ज और द्विआधारी खोज का एक रूप है जो आईबीएम कॉर्पोरेशन के डी। मोर्डी के कारण आवश्यक मशीन समय का अध्ययन है।

  • पीटरसन, टीएल आरई-एन्टीरी वाहन सिथेसिस प्रोग्राम। सं। एसटीएल / टीआर -60-0000-09103 (पीडीएफ लिंक) । TRW स्पेस टेक्नोलॉजी लैब लॉस एंजेल्स CA, 1960।

    का मूल्य V0 जिसके लिए g(V0)=0अब मिलना चाहिए। यह आसानी से देखा जाता हैg(0)=K31 तथा g(K1)=1, ताकि आवश्यक मूल्य V0 0 और के बीच स्थित है K1 अगर K3>1। की जड़ के लिए एक द्विआधारी खोज आयोजित की जाती हैg(V0); V0 चयनित वह है जिसके लिए निरंतर मूल्यों के बीच अंतर का पूर्ण मूल्य है V0 से कम है 0.01

मैं ध्यान दूंगा कि पहला 1958 उद्धरण "बाइनरी" के आसपास उद्धरण चिह्नों का उपयोग कैसे करता है लेकिन 1960 में तीसरे उद्धरण द्वारा, द्विआधारी खोज का उल्लेख बिना किसी विवरण या विवरण के किया गया है। "विभाजन के आधार पर खोज" करने का भ्रम यह बताता है कि स्पष्टीकरण 2) करीब है, लेकिन आगे सत्यापन की आवश्यकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.