बाइनरी पेड़ मल्टी-वे पेड़ का सबसे सरल रूप है इसलिए उन्हें उस अर्थ में अध्ययन करना आसान होता है।
बहु रास्ता पेड़ नोड्स N
कुंजी और N+1
संकेत से मिलकर बनता है, की तर्ज पर है:
|
+-----+-----+-----+-----+
| k00 | k01 | k02 | k03 |
+-----+-----+-----+-----+
/ | | | \
p00 p01 p02 p03 p04
पता लगाने के लिए सूचक एक खोज में पालन करने के लिए, आप कुंजी आप देख रहे हैं की तुलना नोड में चाबियों के खिलाफ। ऊपर दिया गया उदाहरण एक ऑर्डर -2 मल्टी-वे पेड़ है (मैं n
को 2n
कुंजी और 2n+1
पॉइंटर्स के रूप में परिभाषित कर रहा हूं)।
जब आप "पतित" इस संरचना में सबसे छोटी नोड संभव है करने के लिए, आप एक कुंजी और दो संकेत दिए गए, अपने शास्त्रीय द्विआधारी पेड़ के साथ अंत:
|
+-----+
| k00 |
+-----+
/ \
p00 p01
जब मैं विश्वविद्यालय के लिए गया था (और मैं हूँ स्वतंत्र रूप से स्वीकार करें कि यह थोड़ी देर पहले था), हमने बाइनरी पेड़ पहले का अध्ययन किया, बस इसलिए कि एल्गोरिदम सुरुचिपूर्ण थे। खोज एक साधारण तुलना नोड था और दो उप-पेड़ों में से एक का चयन करें। सम्मिलन और हटाना भी अपेक्षाकृत आसान था।
फिर हम संतुलित द्विआधारी पेड़, जहां खोज बिल्कुल वैसा ही था, लेकिन प्रविष्टि और विलोपन जहां आवश्यक इसे रखने के लिए एक छोटे से अधिक जटिल थे, उप पेड़ जड़ के माध्यम से उप पेड़ों की 'घूर्णन' को शामिल करने के लिए पर चला गया संतुलित।
इसके बाद गैर-संतुलित बहु-मार्ग पेड़ों के बाद नोड के भीतर खोज करने की अवधारणा प्राप्त करने के बाद एक सही नोड पाया गया, अंत में, संतुलित बहु-मार्ग पेड़ जो मूल रूप से बाइनरी पेड़ के समान थे लेकिन एक अनुक्रमिक खोज की उसी जटिल जटिलता के साथ-साथ नोड के भीतर सम्मिलन या विलोपन और नोड्स के संयोजन और थूकना।
उन सभी चरणों में आपने एल्गोरिदम में थोड़ी अधिक जटिलता को जोड़ा है। मुझे उस प्रगति के साथ बहुत से लोगों को परेशानी नहीं है, इसलिए शायद आपके द्वारा उल्लेख की जाने वाली सभी पाठ्यपुस्तकें स्टार्टर स्तर पर हैं।
मैंने कभी भी एक बहुत ही विशिष्ट स्थिति को छोड़कर बाइनरी पेड़ों की तुलना में बहु-पक्ष पेड़ अधिक उपयोगी नहीं पाया है। यही वह समय है जब आप पेड़ के नोड्स को धीमे माध्यम से डिस्क जैसे पढ़ रहे हैं और आपने सेक्टर/क्लस्टर/ब्लॉक आकार के लिए अनुकूलित किया है।
हमने ओएस/2 के तहत एक बहु-मार्ग वृक्ष कार्यान्वयन विकसित किया (यहां मेरी उम्र दिखा रहा है) जो चिल्लाती है कि नोड्स अंतर्निहित डिस्क ब्लॉक के आकार में समान थे। भले ही इससे कुछ बर्बाद जगह हो सकती है, गति सुधार इसके लायक थे।
इन-मेमोरी सामान के लिए, बाइनरी पेड़ों में बहु-तरीकों के सभी फायदे हैं जिनमें कोई भी अतिरिक्त जटिलता नहीं है (उप-पेड़ चयन के साथ नोड की अनुक्रमिक खोज को जोड़ना)।
बाइनरी पेड़ उबालते हैं "क्या हमें बाएं या दाएं स्थानांतरित करना चाहिए?", बहु-तरीके हैं "इस नोड में कुंजी कहां है ताकि हम उप-पेड़ चुन सकें?"।
ए बी-ट्री एक प्रकार का एम-रास्ता पेड़ है। मुझे लगता है कि आप बाइनरी पेड़ का मतलब है, है ना? – Thomas
@ थॉमस: आउच, मैं हमेशा "बी-पेड़" "बाइनरी-पेड़" के लिए शॉर्टकट था; एक बार फिर, मैंने कुछ पर सवाल का जवाब सीखा ;; धन्यवाद ! –