شجرة ب مقابل شجرة ثنائية

مؤلف: Laura McKinney
تاريخ الخلق: 4 أبريل 2021
تاريخ التحديث: 25 أبريل 2024
Anonim
B-tree vs B+ tree in Database Systems
فيديو: B-tree vs B+ tree in Database Systems

المحتوى

الفرق بين الشجرة B والشجرة الثنائية هو أن B-tree هي شجرة مفروزة حيث يتم فرز العقد بالترتيب الداخلي بينما الشجرة الثنائية عبارة عن شجرة مرتبة بها مؤشر في كل عقدة.


هياكل البيانات هي أهم المفاهيم في برمجة الكمبيوتر ، وفي هياكل البيانات ، فإن أهم مفهومين هما B-tree و Binary tree. كلاهما مختلفان عن بعضهما البعض. B-tree هي شجرة مفروزة حيث يتم فرز العقد بترتيب اجتيازها بينما الشجرة الثنائية هي شجرة مرتبة لها مؤشر في كل عقدة. B- شجرة وشجرة ثنائية هي هياكل البيانات غير الخطية. بالاسم ، يبدو أن كلا المصطلحين متماثلان ، لكنهما مختلفان. يتم تخزين رمز شجرة ثنائية في ذاكرة الوصول العشوائي في حين يتم تخزين رمز شجرة B في القرص.

B-tree هي شجرة M-way متوازنة ، B-tree تُعرف باسم شجرة فرز متوازنة. هناك اجتياز inorder في B- شجرة. تعقيد الفضاء لشجرة ب هو O (ن). تعقيد وقت الإدراج والحذف هو O (log n). في شجرة B ، يجب أن يكون ارتفاع الشجرة أقل ما يمكن. في شجرة B ، لا ينبغي أن يكون هناك شجرة فرعية فارغة. يجب أن تكون جميع أوراق الشجرة في نفس المستوى. يمكن أن تحتوي كل عقدة على عدد M أقصى من الأطفال والحد الأدنى لعدد M / 2 من الأطفال. يجب أن يكون لكل عقدة في شجرة B مفتاح أقل من المفتاح الفرعي. في B-tree ، المفاتيح في الشجرة الفرعية الموجودة في يسار المفتاح هي أسلاف. عندما تكون العقدة ممتلئة ، وتحاول إدراج عقدة جديدة ، يتم تقسيم الشجرة في جزأين. يمكنك دمج العقد في شجرة B حتى يتم حذف العقد.


تحتوي الشجرة الثنائية على اثنين من المؤشرات التي تحتوي على عنوان العقد التابعة لها. هناك أنواع من الأشجار الثنائية ، مثل الشجرة الثنائية بدقة ، والشجرة الثنائية الكاملة ، والشجرة الثنائية الممتدة ، وما إلى ذلك. كل مستوى ، وفي الشجرة الثنائية المترابطة ، يجب أن يكون هناك 0 إلى 2 عدد العقد. إذا تحدثنا عن التقنيات المستعرضة ، فهناك ثلاث تقنيات مستعرضة بالترتيب المستعرض والمستعرض المسبق والترتيب المستعرض.

المحتويات: الفرق بين شجرة B والشجرة الثنائية

  • رسم بياني للمقارنة
  • B-شجرة
  • شجرة ثنائية
  • الاختلافات الرئيسية
  • استنتاج
  • فيديو توضيحي

رسم بياني للمقارنة

أساسB-شجرةشجرة ثنائية
أساسB- شجرة هي شجرة فرزها حيث يتم فرز العقد اجتياز inorder.الشجرة الثنائية هي شجرة مرتبة لها مؤشر في كل عقدة.
متجريتم تخزين رمز شجرة B في القرص.يتم تخزين رمز شجرة الثنائي على ذاكرة الوصول العشوائي
ارتفاعسيكون ارتفاع شجرة B سجل Nسيكون ارتفاع الشجرة الثنائية سجل2 N
الوضعيةDBMS هو تطبيق B- شجرة.ترميز هوفمان هو تطبيق شجرة ثنائية.

B-شجرة

B-tree هي شجرة M-way متوازنة ، B-tree تُعرف باسم شجرة فرز متوازنة. هناك اجتياز inorder في B- شجرة. تعقيد الفضاء لشجرة ب هو O (ن). تعقيد وقت الإدراج والحذف هو O (log n). في شجرة B ، يجب أن يكون ارتفاع الشجرة أقل ما يمكن.


في شجرة B ، لا ينبغي أن يكون هناك شجرة فرعية فارغة. يجب أن تكون جميع أوراق الشجرة على نفس المستوى. يمكن أن تحتوي كل عقدة على عدد M أقصى من الأطفال والحد الأدنى لعدد M / 2 من الأطفال. يجب أن يكون لكل عقدة في شجرة B مفتاح أقل من المفتاح الفرعي. في B-tree ، المفاتيح في الشجرة الفرعية الموجودة في يسار المفتاح هي أسلاف. عندما تكون العقدة ممتلئة ، وتحاول إدراج عقدة جديدة ، يتم تقسيم الشجرة إلى جزأين. يمكنك دمج العقد في شجرة B حتى يتم حذف العقد.

شجرة ثنائية

تحتوي الشجرة الثنائية على اثنين من المؤشرات التي تحتوي على عنوان العقد التابعة لها. هناك أنواع من الأشجار الثنائية مثل شجرة ثنائية بدقة ، شجرة ثنائية كاملة ، شجرة ثنائية ممتدة ، إلخ.

في الشجرة الثنائية بدقة ، يجب أن يكون هناك الشجرة الفرعية وشجرة الشجرة اليمنى ، في الشجرة الثنائية الكاملة ، يجب أن يكون هناك عقدتان في كل مستوى ، وفي الشجرة الثنائية ذات الترابط ، يجب أن يكون هناك 0 إلى 2 عدد العقد. إذا تحدثنا عن التقنيات المستعرضة ، فهناك ثلاث تقنيات مستعرضة تكون مستعرضة ، مستعرضة قبل الطلبية ، ومستعرضة بعد الطلب.

الاختلافات الرئيسية

  1. B-tree هي شجرة مرتبة ، حيث يتم فرز العقد بالترتيب الداخلي ، بينما Binary tree هي شجرة مرتبة لها مؤشر في كل عقدة.
  2. يتم تخزين رمز شجرة B في القرص بينما يتم تخزين رمز شجرة ثنائي على RAM.
  3. سيكون ارتفاع شجرة B هو logN في حين أن ارتفاع الشجرة الثنائية سيكون log2 N
  4. DBMS هو تطبيق B-tree في حين أن ترميز Huffman هو تطبيق Binary Tree.

استنتاج

في هذه المقالة أعلاه ، نرى الفرق الواضح بين شجرة B وشجرة Binary مع تنفيذها.

فيديو توضيحي