বি গাছ এবং বি + গাছের মধ্যে পার্থক্য কী?


293

একটি বি-ট্রিতে আপনি অভ্যন্তরীণ এবং পাতার নোডগুলিতে কী এবং ডেটা উভয়ই সঞ্চয় করতে পারেন তবে একটি বি + ট্রিতে আপনাকে কেবল পাতাগুলিতে ডেটা সংরক্ষণ করতে হবে ।

উপরোক্ত একটি বি + গাছে করার কোনও সুবিধা আছে কি?

কেন বি + গাছের পরিবর্তে সর্বত্র বি-গাছ ব্যবহার করবেন না কেন স্বজ্ঞাতভাবে তারা আরও দ্রুত বলে মনে হচ্ছে?

আমি বলতে চাইছি, আপনার কেন একটি বি + ট্রিতে কী (ডেটা) নকল করতে হবে?


37
আমি মনে করি তারা যা বলছে তা হ'ল "বি-ট্রি" বনাম বি +-ট্রি। এগুলির অর্থ একটি হাইফেন, বিয়োগ চিহ্ন নয়।
stu

উত্তর:


421

নীচের চিত্রটি বি + গাছ এবং বি গাছের মধ্যে পার্থক্য দেখাতে সহায়তা করে।

বি + গাছের সুবিধা:

  • বি + গাছের অভ্যন্তরীণ নোডগুলির সাথে সম্পর্কিত ডেটা না থাকায় মেমরির একটি পৃষ্ঠায় আরও কীগুলি ফিট করতে পারে। অতএব, পাতার নোডে থাকা ডেটা অ্যাক্সেস করার জন্য এটি কম ক্যাশে মিস করতে হবে।
  • বি + গাছের পাতাগুলি লিঙ্কযুক্ত, তাই গাছের সমস্ত বস্তুর পুরো স্ক্যান করার জন্য সমস্ত পাতার নোডের মধ্যে কেবল একটি লিনিয়ার পাস প্রয়োজন। অন্যদিকে, এবি গাছ গাছের প্রতিটি স্তরের একটি ট্র্যাভারসাল প্রয়োজন require এই পূর্ণ-বৃক্ষের ট্র্যাভারসাল সম্ভবত বি + পাতার লিনিয়ার ট্র্যাভারসাল এর চেয়ে বেশি ক্যাশে মিস মিস করবে।

বি গাছের সুবিধা:

  • যেহেতু বি গাছগুলিতে প্রতিটি কী সহ ডেটা থাকে, প্রায়শই অ্যাক্সেস করা নোডগুলি মূলের কাছাকাছি থাকতে পারে এবং তাই আরও দ্রুত অ্যাক্সেস করা যায়।

বি এবং বি + ট্রি


2
লিফ নোডে প্রবেশের সংখ্যার বিষয়ে কি তাদের কোনও বাধা আছে ??
টিএলই

38
@ টলে ভাল প্রশ্ন! হ্যাঁ. একটি হার্ড ড্রাইভ একবারে ন্যূনতম পৃষ্ঠার মেমরির অ্যাক্সেস করে, তাই আমরা মেমরির একক পৃষ্ঠায় সমস্ত পয়েন্টার ফিট করতে চাই। আমাদের পাতায় অ্যাক্সেসের জন্য কেবল একটি ডিস্ক পঠন প্রয়োজন, তাই আমরা কোনও পাতায় পয়েন্টার পৃষ্ঠার আকারের চেয়ে বেশি বরাদ্দ করতে চাই না। যদি আমরা একটি পৃষ্ঠার পয়েন্টার আকারের একটি পাতা পূরণ করি এবং তারপরে আমরা এই পাতায় অন্য পয়েন্টার যুক্ত করতে চাই, আমরা এই নোডের দুটি শিশু তৈরি করব এবং প্রতিটি নতুন শিশুকে পাতার অর্ধেকটি দেই। অবশ্যই গাছের উচ্চতা সর্বনিম্ন রাখা হয়েছে তা নিশ্চিত করার জন্য কিছুটা রদবদল হতে পারে। এটা কি সাহায্য করে?
রোজ পেরোন

বি-গাছের প্রতিটি পাতার নোডের শেষ পয়েন্টারটি ঠিক পরবর্তী পাতার নোডের দিকে নির্দেশ করা উচিত?
ক্যামিনো

8
এত পুরানো থ্রেড বাম্প করার জন্য দুঃখিত, তবে ক্যামিনোর মন্তব্য কীভাবে সঠিক হয়েছিল তা সম্পর্কে @ বেবিবার্গারের মন্তব্য আসলে সত্য নয়; একটি বি-ট্রি, লিফ নোডগুলি সংযুক্ত করে না। একটি বি +, নিশ্চিত
জেসন

চমৎকার উত্তরের জন্য ধন্যবাদ, একটি ডাটাবেস প্রসঙ্গে বি / বি + ট্রিতে যখন বস্তুগুলির একটি সম্পূর্ণ স্ক্যানের প্রয়োজন হবে তখন কোনও ব্যবহারের ক্ষেত্রে কী হবে? যেহেতু এটি প্রাথমিকভাবে ইনডেক্সিংয়ের জন্য ব্যবহৃত হয়, তাই অনুসন্ধানগুলি সবে কখনও পুরো গাছটিকে ডান করে পরিবর্তে সূচক পথ ধরেই স্ক্যান করা প্রয়োজন, এটি কি সঠিক?
সিদ্ধার্থ 0

113

বি গাছের উপরে বি + গাছের মূল সুবিধা হ'ল এগুলি আপনাকে ডেটারে পয়েন্টারগুলি সরিয়ে অন্য নোডগুলিতে আরও পয়েন্টারে প্যাক করতে দেয়, ফলে ফ্যানআউট বৃদ্ধি পায় এবং সম্ভাব্যভাবে গাছের গভীরতা হ্রাস পায়।

অসুবিধাটি হ'ল কোনও প্রাথমিক আউট নেই যখন আপনি কোনও অভ্যন্তরীণ নোডে কোনও মিল খুঁজে পেয়েছেন। তবে যেহেতু উভয় ডেটা স্ট্রাকচারেই প্রচুর ফ্যানআউট রয়েছে, আপনার বিস্তৃত মিলগুলি বেশিরভাগ ক্ষেত্রেই পাতার নোডগুলিতে থাকবে, গড়ে বি + ট্রি আরও দক্ষ করে তোলে।


1
আমি জেফের উত্তর পছন্দ করি, কারণ এটি একটি পূর্ণ স্ক্যান করার সময় দক্ষতার পার্থক্যের উপর জোর দেয়।
গোলাপ পেরোন

আমি সত্যিই বিভ্রান্ত হয়ে পড়েছি কারণ একটি বি-ট্রিটিকে ইন-অর্ডার ট্র্যাভারসাল ব্যবহার করে ও (এন) সময়ে বাছাই করা ক্রমের সমস্ত মান পড়বে। প্রতিটি গাছের নোডটি যদি দৈহিক পৃষ্ঠার আকারের জন্য অনুকূল আকারের হয় তবে মনে হয় জিনিসগুলি আরও অনুকূল হয় না। বিপরীতে, একটি বি + গাছের প্রথম (ক্ষুদ্রতম) মান পেতে ব্যয় হয় ও (লগ এন) এবং তারপরে প্রতিটি পাতায় হেঁটে ও (এন) হয় সুতরাং মোট ব্যয় হ'ল (লগ এন + এন)। এটি আরও বেশি কাজ এবং আরও বেশি ডিস্ক পড়ে যা বোঝা যায় কারণ গাছের মধ্যে এই সমস্ত অতিরিক্ত ডেটা রয়েছে। আমি পাই না।
এরিক

উপরোক্ত বাক্যে 'ফ্যানআউট' এর জন্য এটি আর কী শব্দ হবে?
জর্জি বুকারান

3
@ জর্জবুকরান ফ্যানআউট = একটি নোড থেকে বেরিয়ে আসা প্রান্তের সংখ্যা
ব্যাটম্যান

33

টার্মিনাল নোডগুলি একটি লিঙ্কযুক্ত তালিকা তৈরি করে, গাছের সূচকগুলির প্রতিটি টুকরো হিসাবে, সম্পূর্ণ স্ক্যান করার জন্য বি + গাছগুলি অনেক সহজ এবং উচ্চতর পারফরম্যান্স। একটি বি-ট্রি দিয়ে একটি পূর্ণ স্ক্যান করতে আপনাকে সমস্ত ডেটা খুঁজে পেতে একটি পূর্ণ ট্রি ট্রভারসাল করতে হবে।

অন্যদিকে বি-ট্রিগুলি যখন আপনি সন্ধান করেন (কী দ্বারা কোনও নির্দিষ্ট টুকরো ডেটা সন্ধান করেন) দ্রুততর হতে পারে বিশেষত যখন গাছটি র‌্যামে বা অন্য অ-ব্লক স্টোরেজে থাকে। যেহেতু আপনি গাছে সাধারণত ব্যবহৃত নোডগুলি উন্নত করতে পারেন সেখানে ডেটাতে যাওয়ার জন্য কম তুলনা প্রয়োজন।


1
আপনি কি সম্মত হন তবে পরিস্থিতিগুলির জন্য একটি বি + ট্রি ব্যবহার করা হবে যেখানে সমস্ত ডেটা জুড়ে পাঠ্যক্রমের পাঠ্য থাকতে পারে যাতে এই পাতাগুলি অতিক্রম করতে সক্ষম হয়। যদিও বি গাছটি এলোমেলো অ্যাক্সেসের পরিস্থিতিতে আদর্শ হতে পারে?
জেডিপিচাম

31
  1. একটি বি ট্রি তে অনুসন্ধান কী এবং ডেটা অভ্যন্তরীণ বা পাতাগুলিতে সঞ্চিত থাকে। তবে একটি বি + -তে তিনটি ডেটা কেবল পাতাগুলিতে সংরক্ষণ করা হয়।
  2. একটি বি + গাছের সম্পূর্ণ স্ক্যান খুব সহজ কারণ সমস্ত তথ্য পাতার নোডগুলিতে পাওয়া যায়। বি গাছের সম্পূর্ণ স্ক্যানের জন্য একটি সম্পূর্ণ ট্রভারসাল প্রয়োজন।
  3. একটি বি ট্রিতে, লিফ নোড বা অভ্যন্তরীণ নোডগুলিতে ডেটা পাওয়া যেতে পারে। অভ্যন্তরীণ নোডগুলি মুছে ফেলা খুব জটিল। একটি বি + গাছে, ডেটা কেবল পাতার নোডগুলিতে পাওয়া যায়। পাতার নোডগুলি মুছে ফেলা সহজ।
  4. বি ট্রিতে সন্নিবেশ বি + গাছের চেয়ে জটিল।
  5. বি + গাছগুলি রিডানডেন্ট অনুসন্ধান কী সঞ্চয় করে তবে বি গাছের কোনও অপ্রয়োজনীয় মান নেই।
  6. একটি বি + গাছে, লিফ নোড ডেটা ক্রমযুক্ত লিঙ্কযুক্ত তালিকা হিসাবে অর্ডার করা হয় তবে একটি বি গাছে লিঙ্কযুক্ত তালিকা ব্যবহার করে পাতার নোড সংরক্ষণ করা যায় না। অনেক ডাটাবেস সিস্টেমের প্রয়োগগুলি একটি বি + গাছের কাঠামোগত সরলতাকে পছন্দ করে।

15

5 ম ডাটাবেস সিস্টেম ধারণা থেকে উদাহরণ

বি + + -tree বি + + গাছ

সংশ্লিষ্ট বি-ট্রি Btree


5
আমি মনে করি না একটি বি-ট্রি নোডের বাচ্চাদের সাথে লিঙ্ক আছে। উদাহরণস্বরূপ গঠন Clearview bucketকরতে Mianus Bucket। যাইহোক এটি করতে খুব বেশি অর্থবোধ হবে না কারণ আপনি দুটি Downtown bucket-বিয়ের মধ্যে একটি বি-ট্রিতে একটি সূচি স্ক্যান করতে চান এমন ইভেন্টে আপনার যা অনেক বেশি অনুসন্ধান করা হবে (ব্যাকট্র্যাকিংয়ের প্রয়োজন)। আপনি এটি কোথায় পেলেন?
ইভান ক্যারল

1
@ ইভানক্রোল ডেটাবেস সিস্টেম ধারণা 5 ম, সম্ভবত আপনাকে লেখকের সাথে নিশ্চিত করতে হবে :)
ক্যামিনো

11

"অনেক দ্রুত" সংজ্ঞা দিন। অ্যাসেম্পোটোটিকভাবে তারা প্রায় একই রকম। পার্থক্যগুলি কীভাবে তারা দ্বিতীয় স্টোরেজ ব্যবহার করে in বি-গাছ এবং বি + গাছ সম্পর্কিত উইকিপিডিয়া নিবন্ধগুলি বেশ বিশ্বাসযোগ্য বলে মনে হচ্ছে।


2
আমি চার্লির সাথে একমত যেহেতু একটি বি-গাছের একটি নোড একটি গৌণ মেমরি পৃষ্ঠা বা ব্লক উপস্থাপন করে, তাই একটি নোড থেকে অন্য নোডে যাওয়ার জন্য একটি সময়সাপেক্ষে পৃষ্ঠা-পরিবর্তন প্রয়োজন।

11

আডেগোকে আ, অমিত

আমি অনুমান করি যে একটি গুরুত্বপূর্ণ পয়েন্ট আপনি লোকেরা হারিয়েছেন যা এই বিভাগে বর্ণিত তথ্য এবং পয়েন্টারগুলির মধ্যে পার্থক্য।

পয়েন্টার: অন্যান্য নোডের পয়েন্টার।

ডেটা: - ডাটাবেস সূচীর প্রসঙ্গে, ডেটা হ'ল অন্য কোথাও থাকা সত্যিকারের ডেটা (সারি) এর অন্য এক পয়েন্টার।

সুতরাং বি গাছের ক্ষেত্রে প্রতিটি নোডে তিনটি তথ্য কী থাকে, কীগুলির সাথে সম্পর্কিত ডেটারে পয়েন্টার এবং শিশু নোডের দিকে পয়েন্টার।

বি + ট্রি অভ্যন্তরীণ নোডে কী নীতিগুলি এবং শিশু নোডের দিকে পয়েন্টার রাখুন যখন লিফ নোড কী এবং সম্পর্কিত ডেটারে পয়েন্টার রাখে। নোডের প্রদত্ত আকারের জন্য এটি আরও সংখ্যক কী ব্যবহারের অনুমতি দেয়। নোডের আকার প্রধানত ব্লকের আকার দ্বারা নির্ধারিত হয়।

নোডের জন্য আরও কী থাকার সুবিধাটি উপরে বর্ণিত হয়েছে যাতে আমি আমার টাইপিংয়ের প্রচেষ্টাটি সংরক্ষণ করব।


10

ব্লক-ভিত্তিক স্টোরেজগুলিতে বি + গাছগুলি বিশেষত ভাল (যেমন: হার্ড ডিস্ক)। এটি মাথায় রেখে, আপনি বেশ কয়েকটি সুবিধা পান, উদাহরণস্বরূপ (আমার মাথার শীর্ষ থেকে):

  • উচ্চ ফ্যানআউট / নিম্ন গভীরতা: এর অর্থ তথ্য নেওয়ার জন্য আপনাকে কম ব্লক পেতে হবে। পয়েন্টারগুলির সাথে ডেটার সাথে মিলিত হওয়ার সাথে সাথে প্রতিটি পঠন কম পয়েন্টার পায়, তাই আপনাকে ডেটাতে আরও সন্ধান করতে হবে

  • সহজ এবং ধারাবাহিক ব্লক স্টোরেজ: একটি অভ্যন্তরীণ নোডে এন পয়েন্টার রয়েছে, অন্য কিছু নেই, একটি লিফ নোডে ডেটা রয়েছে, অন্য কিছু নেই। এটি পার্স, ডিবাগ এবং এমনকি পুনর্গঠন করা সহজ করে তোলে।

  • উচ্চ কী ঘনত্ব মানে উপরের নোডগুলি অবশ্যই ক্যাশে থাকে, অনেক ক্ষেত্রে সমস্ত অভ্যন্তরীণ নোডগুলি দ্রুত ক্যাশে হয়ে যায়, তাই কেবলমাত্র ডেটা অ্যাক্সেসকে ডিস্কে যেতে হয়।


2
বেশিরভাগ স্মৃতি গাছের জন্য; তবে অন্যান্য জনপ্রিয় বিকল্পগুলি রয়েছে যেমন লাল-কালো গাছ, তালিকাগুলি বাদ দিন এবং এগুলি।
জাভিয়ের

বি-ট্রিগুলি দক্ষ ব্লক-ভিত্তিক স্টোরেজগুলির জন্য নকশাকৃত করা হয়েছে, নোড অ্যাক্সেসের অ্যাসিম্পটোটিক সংখ্যাকে সীমাবদ্ধ করে। অন্যথায়, যদি এলোমেলো অ্যাক্সেস সহ মেমরির মতো স্টোরেজ মিডিয়াম ব্যবহার করা হয়, তবে কেউ আরও ভাল ফলাফল অর্জনের জন্য একটি লাল-কালো গাছের মতো একটি স্ব-ব্যালেন্সিং বাইনারি গাছ ব্যবহার করতে পারেন।
dionyziz

আপনার প্রথম পয়েন্টটি "আরও সিক্স" না বলে "কম সিক্স" বলা উচিত নয়। ছোট গভীরতা -> কম সন্ধান করুন
জেসি

1
@Jesse: হাই Fanout => কম গভীরতা => কম কামনা কিন্তু মিশ ডেটা এবং পয়েন্টার মানে কম পয়েন্টার => কম Fanout => আরো গভীরতা => আরো আলোচনা করা
জাভিয়ের

1
@ অ্যাডগোকেএ: একটি বি + গাছে দুটি ধরণের নোড রয়েছে: কেবল কী এবং পয়েন্টারযুক্ত অভ্যন্তরীণ নোড, কোনও ডেটা নেই; ডেটা এবং কোনও পয়েন্টার সহ লিফ নোড। যা প্রতিটি অভ্যন্তরীণ নোডে সর্বাধিক সংখ্যক কীগুলির অনুমতি দেয়। যদি আপনি কোনও অভ্যন্তরীণ নোডে ডেটা সঞ্চয় করেন তবে আপনি কম পয়েন্টার ফিট করতে পারেন এবং আপনার গাছটি লম্বা হয়।
জাভিয়ের

5

বি + ট্রিতে, যেহেতু কেবলমাত্র পয়েন্টারগুলি অভ্যন্তরীণ নোডগুলিতে সংরক্ষণ করা হয়, তাই তাদের আকার বি গাছের অভ্যন্তরীণ নোডগুলির তুলনায় উল্লেখযোগ্যভাবে ছোট হয়ে যায় (যা উভয় ডেটা + কী সংরক্ষণ করে)। সুতরাং, টার্গেটের অবস্থানটি সন্ধান করার জন্য বি + ট্রিের সূচকগুলি একটি একক ডিস্কে পঠিত বাহ্যিক স্টোরেজ থেকে আনা যায়। যদি এটি একটি বি ট্রি হয়ে থাকে তবে প্রতিটি সিদ্ধান্ত গ্রহণের প্রক্রিয়াটির জন্য একটি ডিস্ক রিডের প্রয়োজন। আশা করি আমি আমার বক্তব্য পরিষ্কার করে দিয়েছি! :)


4

**

বি-ট্রি-এর প্রধান ত্রুটিটি ক্রমানুসারে কীগুলি ট্র্যাভার করা অসুবিধা। বি + ট্রি বি-ট্রি-র দ্রুত এলোমেলো অ্যাক্সেস সম্পত্তি ধরে রাখে এবং ততক্ষণে দ্রুত ক্রমবর্ধমান অ্যাক্সেসের অনুমতি দেয়

** রেফ: সি স্ট্রাকচার ব্যবহার করে // লেখক: আড়ো এম টেনেনবাউম

http://books.google.co.in/books?id=X0Cd1Pr2W0gC&pg=PA456&lpg=PA456&dq=drawback+of+B-Tree+is+the+difficulty+of+Traversing+the+keys+sequentially&source=bl&ots=pGcPQSEJMS&sig= F9MY7zEXYAMVKl_Sg4W-0LTRor8 & hl = স্বীকারোক্তি & SA = এক্স & ই আমি = nD5AUbeeH4zwrQe12oCYAQ & বেদ = 0CDsQ6AEwAg # বনাম = onepage & Q = অপূর্ণতা% 20of% 20B-ট্রি% 20is% 20% 20difficulty% 20of% 20Traversing% 20% 20keys% 20sequentially & F = মিথ্যা


1
এটি সঠিক উত্তর হওয়া উচিত ছিল। সংক্ষেপে: রেফারেন্সের লোকেশন।
থিওডোর জাগোগোস

2

একটি উদাহরণ নিন - আপনার কাছে সারি প্রতি বিশাল ডেটা সহ একটি টেবিল রয়েছে। তার মানে বস্তুর প্রতিটি উদাহরণ বড়।

আপনি যদি এখানে বি ট্রি ব্যবহার করেন তবে বেশিরভাগ সময় ডেটা সহ পৃষ্ঠাগুলি স্ক্যান করতে ব্যয় হয় - যা কোনও কাজে আসে না। ডাটাবেসে হ'ল বি-ট্রি ব্যবহারের কারণ অবজেক্টের ডেটা স্ক্যান করা এড়ানোর জন্য।

বি + গাছগুলি ডেটা থেকে পৃথক কীগুলি করে।

তবে যদি আপনার ডেটার আকার কম হয় তবে আপনি সেগুলি কী দ্বারা সংরক্ষণ করতে পারেন যা বি ট্রি যা করে।


1
"আপনি যদি এখানে বি ট্রি ব্যবহার করেন তবে বেশিরভাগ সময় ডেটা সহ পৃষ্ঠাগুলি স্ক্যান করতে ব্যয় হয়" - প্রয়োজনীয় নয়। বি-ট্রি নোডগুলি কেবলমাত্র ডেটাতে নয়, কেবলমাত্র ডিস্কের ডেটাতে "পয়েন্টার" রাখতে পারে।
TT_

2

বি-গাছ এবং বি + গাছের মধ্যে প্রাথমিক পার্থক্যটি হ'ল বি-ট্রি অনুসন্ধান কী মানগুলির অপ্রয়োজনীয় স্টোরেজকে সরিয়ে দেয় search সন্ধান কীগুলি বি-ট্রিতে পুনরাবৃত্তি হয় না, আমরা কম বৃক্ষের নোড ব্যবহার করে সূচকটি সংরক্ষণ করতে সক্ষম না হতে পারি may সংশ্লিষ্ট বি + ট্রি সূচকের চেয়ে। যাইহোক, যেহেতু অনুসন্ধান-পাতাটি নন-লিফ নোডগুলিতে প্রদর্শিত হয় তা বি-ট্রিতে অন্য কোথাও প্রদর্শিত হয় না, তাই আমরা নন-লিফ নোডে প্রতিটি অনুসন্ধান কীগুলির জন্য অতিরিক্ত পয়েন্টার ক্ষেত্রটি অন্তর্ভুক্ত করতে বাধ্য হই। বি-গাছের জন্য এগুলি স্থানের সুবিধা, কারণ পুনরাবৃত্তি ঘটে না এবং বৃহত সূচকগুলির জন্য এটি ব্যবহার করা যেতে পারে।


1
আকর্ষণীয়, পুনরাবৃত্তি সম্পর্কে চিন্তাভাবনাগুলি এখানে জবাবগুলির মধ্যে স্বতন্ত্র এবং বি-গাছের সৃজনশীল ক্রমবর্ধমানের চেয়ে বি + গাছের সৃজনশীল ক্রিয়াকলাপের চেয়ে আরও কার্যকর than আমি যতদূর বলতে পারি, এটি হয় একেবারেই ঠিক নয়, বা পুরো গল্পের মতো নয় যেমন একটি বি-গাছের ক্রমগুলি হ'ল ও (এন) এবং একটি বি + গাছের মধ্যে সবচেয়ে ছোট নোড খুঁজে পাওয়া ও (লগ এন) এবং তারপরে প্রতিটি পাতাকে হেঁটে হে (এন) ছাড়াও। তবে, আপনি যদি কিছুটা বুলিয়ান ক্ষেত্রের মতো মানের একটি ছোট পরিসরের সাথে সূচক তৈরি করছিলেন তবে ডাব্লিকেট হ্যান্ডলিংয়ের কারণে বি + গাছটি বি-গাছের চেয়ে অনেক বেশি অর্থবোধ করে।
এরিক

1

এ বি + ট্রি একটি ভারসাম্যযুক্ত গাছ যেখানে গাছের গোড়া থেকে পাতার প্রতিটি পথ একই দৈর্ঘ্যের হয় এবং গাছের প্রতিটি ননলিফ নোড [n / 2] এবং [n] বাচ্চাদের মধ্যে থাকে যেখানে এন হয় একটি নির্দিষ্ট গাছের জন্য স্থির। এটিতে সূচক পৃষ্ঠা এবং ডেটা পৃষ্ঠা রয়েছে pages বাইনারি গাছের প্রতি পিতা মাতা নোডে কেবল দুটি বাচ্চা থাকে, বি + গাছে প্রতিটি প্যারেন্ট নোডের জন্য চলক সংখ্যক শিশু থাকতে পারে


1
কেবল স্পষ্টতার জন্য, বি গাছগুলি বাইনারি গাছ নয়। বাস্তবে, বি গাছ এবং বি + গাছ বাইনারি গাছের চেয়ে নির্মাণ এবং ব্যবহারে একে অপরের কাছাকাছি। উইকির নিবন্ধগুলি সংজ্ঞাগুলি পরিষ্কার করতে সহায়তা করতে পারে - বি + ট্রি , বি ট্রি এবং বাইনারি ট্রি
উত্সব

1

বি + গাছগুলির একটি সম্ভাব্য ব্যবহার হ'ল এটি এমন পরিস্থিতিতে উপযুক্ত যেখানে গাছটি এত বড় হয় যে এটি উপলব্ধ স্মৃতিতে খাপ খায় না। সুতরাং, আপনি সাধারণত একাধিক আই / ও করানোর আশা করতেন।
এটি প্রায়শই ঘটে থাকে যে একটি বি + ট্রি ব্যবহার করা হয় এমনকি যখন এটি বাস্তবে মেমরির সাথে খাপ খায় এবং আপনার ক্যাশে পরিচালকের পক্ষে এটি স্থায়ীভাবে রাখা যায়। তবে এটি একটি বিশেষ ক্ষেত্রে, সাধারণটি নয়, এবং ক্যাশিং নীতি বি + গাছের রক্ষণাবেক্ষণের থেকে পৃথক।

এছাড়াও, একটি বি + গাছে, পাতার পৃষ্ঠাগুলি একটি লিঙ্কযুক্ত তালিকায় (বা দ্বিগুণ-লিঙ্কযুক্ত তালিকায়) একসাথে যুক্ত রয়েছে, যা ট্র্যাভারসালগুলিকে অনুকূল করে (পরিসীমা অনুসন্ধান, বাছাইকরণ ইত্যাদির জন্য)। সুতরাং পয়েন্টার সংখ্যাটি নির্দিষ্ট অ্যালগরিদমের একটি ফাংশন যা ব্যবহৃত হয়।


এটি এই প্রশ্নের উত্তরে যে আমরা কেন সর্বত্র বি + গাছের পরিবর্তে বি-গাছ ব্যবহার করব না :)
স্ট্যাক প্রোগ্রামার

3
তবে আপনি কেবলমাত্র একটি পক্ষের বর্ণনা দিয়েছেন, যতদূর আমরা জানি, আপনার উত্তর খ-গাছগুলি ঠিক একইভাবে কাজ করতে পারে। ওপি পার্থক্য ব্যাখ্যা করতে বলেছিল এবং আপনি কেবল একটি সম্পর্কে কথা বলেছেন অন্যটির বিষয়ে নয়। আপনার কাছে একটি বৃত্ত সহ ভেন ডায়াগ্রাম থাকতে পারে না!
মালফিস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.