freeCodeCamp/guide/arabic/algorithms/red-black-trees/index.md

3.7 KiB

title localeTitle
Red Black Trees أشجار سوداء حمراء

أشجار سوداء حمراء

Red-Black Tree هي شجرة بحث ثنائية توازن ذاتي (BST) حيث تتبع كل عقدة القواعد التالية.

  1. كل عقدة لديها طفلين ، إما باللون الأحمر أو الأسود.
  2. كل عقدة أوراق شجرة سوداء دائما.
  3. كل عقدة حمراء لديها كل من أطفالها اللون الأسود.
  4. لا يوجد عقدان أحمران متجاوران (لا يمكن أن تحتوي العقدة الحمراء على أصل أحمر أو أحمر).
  5. يحتوي كل مسار من الجذر إلى عقدة أوراق الشجر على نفس عدد العقد السوداء (يسمى "ارتفاع الأسود").

على غرار المرجعي: alt text

لماذا أشجار حمراء سوداء؟

معظم عمليات BST (على سبيل المثال ، البحث ، max ، min ، insert ، delete .. etc) تأخذ O (h) time حيث h هي ارتفاع BST. قد تصبح تكلفة هذه العمليات O (n) لشجرة ثنائية منحرفة. إذا تأكدنا من أن ارتفاع الشجرة يبقى O (Logn) بعد كل إدخال وحذف ، فيمكننا ضمان حد أقصى O (Logn) لجميع هذه العمليات. يكون طول شجرة Red Black دائمًا O (Logn) حيث n هو عدد العقد في الشجرة.

مقارنة مع شجرة AVL

أشجار AVL أكثر توازنا مقارنة بالأشجار الحمراء السوداء ، ولكنها قد تسبب المزيد من التناوب أثناء الإدراج والحذف. لذلك إذا كان تطبيقك يتضمن العديد من عمليات الإدراج والحذف المتكررة ، فيجب تفضيل أشجار Red Black. وإذا كانت عمليات الإدراج والحذف أقل تكرارًا ، وكان البحث عملية أكثر تواترًا ، فيجب تفضيل شجرة AVL على Red Black Tree.

Left-Leaning شجرة حمراء - سوداء

شجرة red-leaning red-black (LLRB) هي نوع من شجرة البحث الثنائية ذات التوازن الذاتي. وهو متغير من الشجرة الحمراء - السوداء ويضمن نفس التعقيد التقاربي للعمليات ، ولكنه مصمم ليكون أسهل في التنفيذ.

خصائص Left Leaning - الأشجار الحمراء - السوداء

تتميز جميع خوارزميات الشجر باللون الأحمر والأسود التي تم اقتراحها بوقت بحث في أسوأ الحالات يحدها مضاعف ثابت صغير للسجل N في شجرة من مفاتيح N ، والسلوك الذي يتم ملاحظته في الممارسة عادة ما يكون هو نفسه أسرع من في أسوأ حالة ملزمة ، على مقربة من العقد الأمثل سجل N التي سيتم ملاحظتها في شجرة متوازنة تماما.

على وجه التحديد ، في شجرة باللون الأحمر- الأسود ذي الجانبين الأيسر مبنية من مفاتيح عشوائية N: -> بحث ناجح عشوائي يفحص log2 N - 0.5 العقد. -> متوسط ​​ارتفاع الشجرة هو 2 log2 N

معلومات اكثر: