شجرة ب مقابل شجرة ثنائية
المحتوى
- المحتويات: الفرق بين شجرة B والشجرة الثنائية
- رسم بياني للمقارنة
- B-شجرة
- شجرة ثنائية
- الاختلافات الرئيسية
- استنتاج
- فيديو توضيحي
الفرق بين الشجرة 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 عدد العقد. إذا تحدثنا عن التقنيات المستعرضة ، فهناك ثلاث تقنيات مستعرضة تكون مستعرضة ، مستعرضة قبل الطلبية ، ومستعرضة بعد الطلب.
الاختلافات الرئيسية
- B-tree هي شجرة مرتبة ، حيث يتم فرز العقد بالترتيب الداخلي ، بينما Binary tree هي شجرة مرتبة لها مؤشر في كل عقدة.
- يتم تخزين رمز شجرة B في القرص بينما يتم تخزين رمز شجرة ثنائي على RAM.
- سيكون ارتفاع شجرة B هو logN في حين أن ارتفاع الشجرة الثنائية سيكون log2 N
- DBMS هو تطبيق B-tree في حين أن ترميز Huffman هو تطبيق Binary Tree.
استنتاج
في هذه المقالة أعلاه ، نرى الفرق الواضح بين شجرة B وشجرة Binary مع تنفيذها.