2010-08-18 15 views
9

मैं "एल्गोरिदम के परिचय" में अध्याय "बी-पेड़" के अनुसार बी-ट्री को लागू करने की कोशिश कर रहा हूं।बी-ट्री - यहां तक ​​कि चाबियों की संख्या के साथ नोड क्यों नहीं हो सकता है?

मैं काफी क्या नहीं मिलता है "कम से कम डिग्री" है। पुस्तक में यह कहा गया कि डिग्री एक संख्या जो कुंजियों की संख्या एक नोड धारण कर सकते हैं के लिए कम/ऊपरी सीमा को व्यक्त करता है। यह इसे आगे कहा गया है कि:

  1. प्रत्येक गैर-रूट नोड भंडार कम से कम t - 1 कुंजी और t बच्चों है।
  2. प्रत्येक नोड स्टोर 2*t - 1 कुंजी पर और 2*t बच्चे है।

तो तुम टी के लिए मिलता है = 2:

  1. t - 1 = 1 कुंजी और टी = 2 बच्चों
  2. 2*t - 1 = 3 कुंजी और 4 बच्चों

टी = 3

के लिए
  1. t - 1 = 2 कुंजी और टी = 3 ch ildren
  2. 2*t - 1 = 5 कुंजी और 6 बच्चों

अब यहाँ समस्या है: ऐसा लगता है कि एक बी पेड़ में नोड्स केवल एक अजीब कुंजियों की संख्या स्टोर कर सकते हैं, जब वे भरे हुए हैं।

क्यों साथ एक नोड नहीं किया जा सकता, के ज्यादा से ज्यादा 4 कुंजी और 5 बच्चों कहना है? क्या यह नोड को विभाजित करने के साथ कुछ करने के लिए है?

+0

'" एल्गोरिदम के परिचय "में - लो और देखो! _Which_ "एल्गोरिदम का परिचय": लेखक? प्रकाशक? भाषा? आई? हाइपरलिंक? – greybeard

उत्तर

3

ऐसा लगता है कि बी-ट्री में नोड्स केवल चाबियों की एक विषम संख्या को स्टोर कर सकते हैं?

निश्चित रूप से नहीं

। आपके द्वारा लिखी गई संख्या क्रमशः न्यूनतम और अधिकतम कुंजी की कुंजी है, इसलिए t = 2 के लिए, 1, 2, 3 कुंजी वाले नोड्स की अनुमति है। t = 3 के लिए, 2, 3, 4, 5 कुंजी के साथ नोड्स की अनुमति है।

इसके अलावा, पेड़ की जड़ को केवल 1 कुंजी होने की अनुमति है।

यह परिभाषित करने के लिए (और लागू) पेड़ों कि जैसे है संभव है। एक नोड में 1 या 2 कुंजी (तथाकथित 2-3 पेड़)। कारण बी-पेड़ को एक और समायोजित करने के लिए परिभाषित किया गया है, यह है कि इससे तेज प्रदर्शन होता है। विशेष रूप से, यह अमूर्त O(1) (विभाजन विभाजन और संचालन में गिनती) को हटा देता है और संचालन को सम्मिलित करता है।

+0

बेशक आप सही हैं ... मेरा मतलब क्या था जब नोड भर गया था - तब इसमें केवल नोड्स की विषम संख्याएं हो सकती हैं। फिर भी मुझे नहीं लगता कि इससे बेहतर प्रदर्शन क्यों होता है, ire_and-curses टिप्पणी देखें। – helpermethod

+0

@ हेल्पर विधि: ठीक है, तो मुझे लगता है कि दूसरा अनुच्छेद आपके प्रश्न का उत्तर देता है - क्या आपको औपचारिक प्रमाण की आवश्यकता है? – jpalecek

+0

@jpalecek मैंने मूल प्रश्न संपादित किया है, लेकिन ओपी ने वास्तव में एक नोड भरने के बारे में पूछा: क्यों एक पूर्ण नोड में कुंजी की संख्या भी नहीं हो सकती है? यह ओपी, आईएमओ का वास्तविक स्पष्ट सवाल नहीं था। – nbro

1

यह असंभव नहीं है लेकिन उपमहाद्वीप है। आप बच्चों की एक विषम संख्या के साथ एक नोड कैसे विभाजित करते हैं?

+4

मुझे इस तर्क को समझ में नहीं आता है।आप औसत बच्चे को लेते हैं, इसे माता-पिता में ले जाते हैं, और फिर माता-पिता के नए उप-नोड में सभी बच्चों को मध्यस्थ के दाएं ओर सौंप देते हैं। –

+0

@ire_and_curses मुझे लगता है कि आप चाबियाँ और बच्चे नोड्स के बीच भ्रमित हो गए हैं ... – nbro

संबंधित मुद्दे