"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تنفيذ التناوب

تنفيذ التناوب

تم النشر بتاريخ 2024-08-01
تصفح:989

تصبح الشجرة غير المتوازنة متوازنة عن طريق إجراء عملية دوران مناسبة. يوضح القسم، إعادة توازن الأشجار، كيفية إجراء عمليات التدوير عند العقدة. الكود أدناه يعطي الخوارزمية لدوران LL، كما هو موضح في الشكل أدناه.

1 BalanceLL(TreeNode A, TreeNodeparentOfA) {
2 دع B يكون الابن الأيسر لـ A.
3
4 إذا (أ هو الجذر)
5 دع B يكون الجذر الجديد
6 أخرى {
7 إذا (أ هو الابن الأيسر للوالدين)
8 دع B يكون الابن الأيسر للوالد؛
9 أخرى
10 دع B يكون الطفل المناسب للوالدين؛
11
12
13 اجعل T2 الشجرة الفرعية اليسرى لـ A عن طريق تعيين B.right إلى A.left;
14 اجعل A الطفل المناسب لـ B عن طريق تعيين A إلى B.right;
15 تحديث ارتفاع العقدة A والعقدة B;
16 } // نهاية الطريقة

Implementing Rotations

لاحظ أنه يمكن تغيير ارتفاع العقد A وB، ولكن لا يتم تغيير ارتفاعات العقد الأخرى في الشجرة. يمكنك تنفيذ دورات RR وLR وRL بطريقة مماثلة.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/paulike/implementing-rotations-m91?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3