बाइनरी सर्च ट्री

कम्प्यूटर विज्ञान एक द्विधारी सर्च ट्री है बीएसटी जिसे क्रमांक या चयनित ट्री भी कहा जाता है एक जड़ वाला चयनित ट्री डेटा संरचना है जिसमें आंतरिक कुंजी बाएं सर्च ट्री की सभी कुंजियों से अधिक नहीं होती हैं तथा कम होती हैं यह दाहिने सर्च ट्री की तुलना में चयनित सर्च ट्री पर संचालन की समय जटिलता सीधे ट्री की ऊंचाई के समानुपाती होती है।

चयनित सर्च ट्री डेटा कार्यक्रम को तेजी से देखने जोड़ने और हटाने के लिए चयनित खोज कलनविधि की अनुमति देता है क्योंकि बीएसटी में प्रोप इस तरह रखे गए हैं कि प्रत्येक तुलना शेष सर्च ट्री के आधे हिस्से को छोड़ देती है प्रदर्शन खोजना द्विआधारी लघुगणक के समानुपाती होता है विवरण किए गए डेटा के कुशल भंडारण की समस्या के लिए 1960 के दशक में बीएसटी तैयार किए गए थे और इसका श्रेय कॉनवे बर्नर्स-ली और डेविडव्हीलर कंप्यूटर के वैज्ञानिक को दिया जाता है।

चयनित सर्च ट्री का प्रदर्शन ट्री में नोड्स के सम्मिलन के क्रम पर निर्भर करता है क्योंकि मन से करने वाला कार्य सम्मिलन अर्धपतन का कारण बन सकता है बाइनरी सर्च ट्री के कई रूपों को सबसे खराब स्थिति के प्रदर्शन की गारंटी के साथ बनाया जाता है क्योंकि इसमें मूल संचालन सम्मिलित हैं सबसे खराब स्थिति वाले बीएसटी एक अवर्गीकृत सारणी से बेहतर प्रदर्शन करते हैं जिनको रैखिक समय की आवश्यकता होती है।

बीएसटी के संगणनात्मक जटिलता सिद्धांत से पता चलता है कि इसमें औसत स्थित और खोजें भी सम्मिलित हैं। वे एक एकल लिंक की सूची सम्मिलन और विलोपन के साथ सर्च ट्री की ऊंचाई की असीमित वृद्धि को संबोधित करने के लिए बीएसटी के स्व-संतुलन बाइनरी सर्च ट्री संतुलन के रूपों को बाइनरी में शुरूआत की जटिलता को बाध्य करने के लिए पेश किया जाता है। एवीएल ट्री पहला स्व संतुलन बाइनरी सर्च ट्री था जिसका आविष्कार 1962 में एवीएल एड्स वेल्सकी और ईव्जेनी लैन्डिस द्वारा किया गया था।

बाइनरी सर्च ट्री का उपयोग अमूर्त डेटा प्रकारों जैसे सेट और प्राथमिकता पंक्ति को लागू करने के लिए किया जाता है और छँटाई प्रदर्शन जैसे बाइनरी सर्च ट्री में उपयोग किया जाता है।

इतिहास
बाइनरी सर्च ट्री प्रदर्शन स्वतंत्र रूप से कई शोधकर्ताओं द्वारा खोजा गया था जिसमें पी.एफ. विंडले एंड्रयू डोनाल्ड बूथ एंड्रयू कॉलिन थॉमस एन. हिब्बार्ड तथा प्रदर्शन का श्रेय कॉनवे बर्नर्स-ली और डेविड व्हीलर कंप्यूटर वैज्ञानिक को दिया जाता है जिन्होंने 1960 में चुंबकीय टेप में विवरण किए गए डेटा को संग्रहीत करने के लिए किया गया था। सबसे शुरुआती और लोकप्रिय बाइनरी सर्च ट्री प्रदर्शन हिब्बार्ड का है।

बाइनरी सर्च ट्री की जटिलताएं असीम रूप से बढ़ जाती हैं यदि नोड्स को एक मनमाने क्रम में डाला जाता है तथा बाइनरी सर्च ट्री की ऊंचाई को सीमित करने के लिए स्व-संतुलन पेश किए गए थे बाइनरी सर्च ट्री को सीमित करने के लिए विभिन्न बाइनरी सर्च ट्री पेश किए गए जैसे एवीएल ट्री ट्रीप और रेड़ ब्लैक ट्री एवीएल का आविष्कार जॉर्जी एडेल्सन वेलेस्की और ईव्जेनी लैन्ड्स द्वारा 1962 में सूचना के कुशल संगठन के लिए किया गया था। यह आविष्कार किया जाने वाला पहला स्व-संतुलन बाइनरी सर्च ट्री था।

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

खोज प्रारूप को छोटा करने में चयनित खोज वृक्ष भी प्रभावशाली हैं। इस प्रकार कार्यान्वित आदेश और पहचान करने की आवश्यकता नहीं है जबकि बीएसटी की खोज जटिलता से उस क्रम पर निर्भर करती है जिसमें नोड्स डाले और हटाए जाते हैं जिससे कि खराब स्थिति में चयनित खोज वृक्ष में क्रमिक संचालन अर्धपतन का कारण बन सकता है और संरचना की तरह एक एकल लिंक्ड सूची बन सकती है इस प्रकार सूची के रूप में सबसे खराब स्थिति वाली एक जटिलता है।

चयनित खोज वृक्ष भी एक मूलभूत डेटा संरचना है जिसका उपयोग अमूर्त डेटा संरचनाओं जैसे सेट कंप्यूटर विज्ञान और साहचर्य सारणियों के निर्माण में किया जाता है।

खोजना
एक विशिष्ट कुंजी के लिए चयनित खोज वृक्ष को क्रमादेशित पुनरावर्तन या पुनरावृत्ति की गणना की जाती है।

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

पुनरावर्ती खोज
निम्नलिखित स्यूडोकोड पुनरावर्तन (कंप्यूटर विज्ञान) के माध्यम से बी टी एस खोज प्रक्रिया को लागू करता है।

पुनरावृत्त खोज
खोज के पुनरावर्ती संस्करण को थोड़ी देर में अनियंत्रित किया जा सकता है अधिकांश मशीनों पर पुनरावृत्त संस्करण कंप्यूटर प्रदर्शन वाला पाया जाता है।

इसमें खोज के कुछ लसीका नोड होते हैं बीएसटी खोज की दौड़ जटिल है जबकि बीएसटी खोज की सबसे खराब स्थिति है बीएसटी में नोड्स की कुल संख्या एन है क्योंकि एक असंतुलित बीएसटी एक लिंक्ड सूची में खराब हो सकता है जबकि बीटीएस ऊँचाई-संतुलित वृक्ष है ।

पूर्ववर्ती उत्तराधिकारी
कुछ कार्यों के लिए एक नोड दिया गया जिसके उत्तराधिकारी या पूर्ववर्ती का पता लगाना अत्यंत महत्वपूर्ण है यह मानते हुए कि बीएसटी की सभी कुंजियाँ अलग-अलग हैं तथा एक नोड के उत्तराधिकारी हैं बीएसटी में सबसे छोटी कुंजी वाला नोड एक्स है दूसरी ओर एक नोड के पूर्ववर्ती बीएसटी में सबसे बड़ी कुंजी से छोटा नोड एक्स है नोड के उत्तराधिकारी और पूर्ववर्ती को खोजने के लिए निम्नलिखित स्यूडोकोड हैं-

बीएसटी में एक नोड खोजने जैसे संचालन जिसकी कुंजी अधिकतम या न्यूनतम है, कुछ कार्यों में महत्वपूर्ण हैं, जैसे कि उत्तराधिकारी और नोड्स के पूर्ववर्ती का निर्धारण करना संचालन के लिए स्यूडोकोड निम्नलिखित है।

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

हटाना
यह एक नोड का विलोपन है जो एक चयनित खोज वृक्ष से बीएसटी की तीन स्थितियों का पालन करना चाहिए।
 * 1) अगर डी एक पत्ती है जो डी का मूल बिन्दु है डी पेड़ से हटा दिया जाता है।
 * 2) अगर डी एक एकल विद्यार्थी है तो बच्चा बाएँ या दाएँ बच्चे के रूप में उन्नत करेगा डी माता-पिता की स्थिति के आधार पर कार्य करता है अंजीर में दिखाया गया है कि भाग ए और भाग बी और डी पेड़ से हटा दिया जाता है।
 * 3) अगर डी का उत्तराधिकारी एक बाएँ और दाएँ दोनों बच्चे हैं ई जिसके पास कोई बच्चा नहीं है तो इस स्थिति में क्या करेगा।
 * 4) अगर डी एस का दायां बच्चा ऊंचा हो जाता है तो ई के बॉंये बच्चे किस बिन्दु पर ले जाया जाता है।

निम्नलिखित स्यूडोकोड चयनित खोज वृक्ष में विलोपन ऑपरेशन को लागू करता है।

यात्रीगण
एक बीएसटी तीन बुनियादी प्रारूप के माध्यम से वृक्ष यात्रा हो सकती है यात्रा में आदेश, उप आदेशिक यात्रा और पोस्ट आदेश यात्रा भी सम्मिलित हैं।
 * बाएं उप वृक्ष से नोड्स पहले देखे जाते हैं उसके बाद रूट और उपवृक्ष देखे जाते हैं।
 * जड़ को पहले बहाया जाता है उसके बाद बाएँ और दाएँ उप वृक्ष को देखा जाता है।
 * बाएं उप वृक्ष से नोड्स पहले देखे जाते हैं।

संतुलित चयनित वृक्षों की खोज
पुनर्संतुलन के बिना चयनित वृक्ष की खोज में सम्मिलित या विलोपन अर्धपतन का कारण बन सकता है जिसके परिणामस्वरूप ऊँचाई होती है एक रेखीय खोज की तुलना में खोज वृक्ष को संतुलित और ऊँचाई से घिरा रखना होता है चयनित प्रारूप जटिलता के लिए वृक्ष की ऊंचाई को बनाए रखने के लिए बनावट किए गए वृक्ष के अद्यतन संचालन के दौरान इसे स्व-संतुलन तंत्र द्वारा प्राप्त किया जा सकता है।

ऊंचाई-संतुलित वृक्ष
एक वृक्ष ऊँचाई-संतुलित होता है यदि बाएँ उप-वृक्ष और दाएँ उप-वृक्ष की ऊँचाइयों को एक स्थिर कारक द्वारा संबंधित होने दिया जाता है। यह संपत्ति एवीएल वृक्ष द्वारा पेश की गई थी और लाल-काले वृक्ष द्वारा जारी रखी गई थी। जड़ से संशोधित पत्ती तक पथ पर सभी की ऊंचाई को देखा जाना चाहिए और संभवतया वृक्ष में प्रत्येक डाल को हटाने के लिए सही किया जाना चाहिए।

वजन-संतुलित वृक्ष
भार-संतुलित वृक्ष में संतुलित वृक्ष की कसौटी उपवृक्षों की पत्तियों की संख्या है बाएँ और दाएँ उप वृक्ष का वज़न सबसे अधिक होता है  जबकि अंतर अनुपात से बंधा हुआ है अल्फा संतुलन की स्थिति के बाद नहीं रखा जा सकता वृक्ष संतुलन की स्थिति का एक पूरा परिवार होता है जहां प्रत्येक बाएँ और दाएँ उपवृक्ष में कम से कम एक अंश होता है।

प्रकार
कई स्व-संतुलित चयनित खोज वृक्ष हैं जिनमें लाल-काले वृक्ष भी होते हैं।

क्रमबद्ध करें
चयनित खोज वृक्ष का उपयोग में वृक्ष का प्रारूप छोटा किया जाता है जहां सभी तत्वों को एक ही बार में डाला जाता है।

प्राथमिकता पंक्ति संचालन
चयनित खोज वृक्ष का उपयोग प्राथमिक पंक्ति को लागू करने में किया जाता है कुंजी को प्राथमिकताओं के रूप में उपयोग करते हुए पंक्ति में नए तत्व जोड़ना नियमित बीएसटी सम्मिलन ऑपरेशन का अनुसरण करता है लेकिन निष्कासन ऑपरेशन प्राथमिकता पंक्ति के प्रकार पर निर्भर करता है।
 * यदि यह एक आरोही क्रम प्राथमिक पंक्ति है तो सबसे कम प्राथमिकता वाले तत्व को बीएसटी के बाईं ओर यात्रियों के माध्यम से हटाया जाता है।
 * यदि यह अवरोही क्रम की प्राथमिक पंक्ति है तो उच्चतम प्राथमिकता वाले तत्व को बीएसटी के दाईं ओर यात्रियों के माध्यम से हटाया जाता है।

बाहरी संबंध

 * Ben Pfaff: An Introduction to Binary Search Trees and Balanced Trees. (PDF; 1675 kB) 2004.
 * Binary Tree Visualizer (JavaScript animation of various BT-based data structures)