यह कैसे मैं बी पेड़ से तत्वों को जोड़ने होता है।
Steve314 के लिए धन्यवाद, मुझे,
को देखते हुए द्विआधारी प्रतिनिधित्व के साथ शुरू देने के लिए एन के क्रम में, जोड़ने के लिए तत्व हैं। हमें इसे एम-ऑर्डर बी-पेड़ में जोड़ना है। अपनी अनुक्रमणिका लें (1 ... एन) और इसे रेडिक्स एम में परिवर्तित करें। इस सम्मिलन का मुख्य विचार वर्तमान में उच्चतम एम-रेडिक्स बिट के साथ संख्या डालना है और नोड्स के विभाजन के बावजूद पेड़ में जोड़े गए कम एम-रेडिक्स संख्याओं से ऊपर रखना है।
1,2,3 .. इंडेक्स हैं इसलिए आप वास्तव में उन संख्याओं को सम्मिलित करते हैं जिन्हें वे इंगित करते हैं।
For example, order-4 tree
4 8 12 highest radix bit numbers
1,2,3 5,6,7 9,10,11 13,14,15
अब आदेश मंझला के आधार पर किया जा सकता है:
- आदेश भी है -> कुंजियों की संख्या करीब हैं -> मंझला बीच (मध्य मंझला) है
- क्रम अजीब है -> की संख्या चाबियां भी हैं -> बाएं औसत या दाएं औसत
पदोन्नति के लिए औसत (बाएं/दाएं) की पसंद का निर्णय तय करेगा जिसमें मुझे तत्व डालना चाहिए। यह बी-पेड़ के लिए तय किया जाना है।
मैं बाल्टी में पेड़ के तत्व जोड़ता हूं। सबसे पहले मैं अगली बाल्टी को पूरा करने पर बाल्टी तत्व जोड़ता हूं। यदि मध्यस्थ जाना जाता है तो बाल्टी आसानी से बनाई जा सकती है, बाल्टी का आकार ऑर्डर मी है।
I take left median for promotion. Choosing bucket for insertion.
| 4 | 8 | 12 |
1,2,|3 5,6,|7 9,10,|11 13,14,|15
3 2 1 Order to insert buckets.
- बाएं मंझला चुनाव के लिए मैं दाईं ओर से शुरू, मैं बाईं ओर से बाल्टी डालने सही मंझला चुनाव के लिए पेड़ से बाल्टी डालें। बाएं-मध्यस्थ का चयन करना हम पहले मध्यस्थ को सम्मिलित करते हैं, फिर तत्वों को छोड़कर पहले बाल्टी में शेष संख्याएं।
उदाहरण
Bucket median first
12,
Add elements to left
11,12,
Then after all elements inserted it looks like,
| 12 |
|11 13,14,|
Then I choose the bucket left to it. And repeat the same process.
Median
12
8,11 13,14,
Add elements to left first
12
7,8,11 13,14,
Adding rest
8 | 12
7 9,10,|11 13,14,
Similarly keep adding all the numbers,
4 | 8 | 12
3 5,6,|7 9,10,|11 13,14,
At the end add numbers left out from buckets.
| 4 | 8 | 12 |
1,2,|3 5,6,|7 9,10,|11 13,14,|15
मध्य मंझला (यहां तक कि आदेश बी-वृक्ष) आप बस मंझला बाल्टी में सभी नंबरों को सम्मिलित करने और उसके बाद के लिए।
दाएं-मध्य के लिए मैं बाएं से बाल्टी जोड़ता हूं। बाल्टी के भीतर तत्वों के लिए मैं पहले मध्यस्थ को सही तत्वों और फिर तत्वों को छोड़ देता हूं।
यहाँ हम उच्चतम एम-मूलांक संख्या जोड़ रहे हैं, और इस प्रक्रिया में मैं तत्काल कम एम-मूलांक बिट के साथ नंबर जोड़ा है, यकीन है कि उच्चतम एम-मूलांक संख्या शीर्ष पर रहने के लिए बना। यहां मेरे पास केवल दो स्तर हैं, अधिक स्तरों के लिए मैं रेडिक्स बिट्स के अवरोही क्रम में एक ही प्रक्रिया को दोहराता हूं।
अंतिम मामला तो बस उन्हें डाल सकते हैं और प्रक्रिया समाप्त है, जब शेष तत्व एक ही मूलांक-बिट के हैं और वहाँ कम मूलांक-बिट के साथ कोई संख्या है।
मैं 3 स्तरों के लिए एक उदाहरण देना होगा, लेकिन यह भी दिखाने के लिए लंबा है। तो अन्य मानकों के साथ कोशिश करते हैं और बताती हैं कि यह काम करता है कृपया।
prepending के बाद मुझे लगता है कि सवाल इतना "हम हमेशा बुरी से बुरी हालत से बच सकते हैं" जितना "के रूप में अगर मैं पहले से कुंजी पता नहीं है, मैं प्राप्त कर सकते हैं आदर्श सम्मिलन आदेश? " – templatetypedef