The original description of the k-d tree recognized that rebalancing techniques, used for building an AVL or red-black tree, are not applicable to a k-d tree, because these techniques involve cyclic exchange of tree nodes that violates the invariant of the k-d tree. For this reason, a static, balanced k-d tree is often built from all of the k-dimensional data en masse. However, it is possible to build a dynamic k-d tree that self-balances when necessary after insertion or deletion of each k-dimensional datum. This article describes insertion, deletion, and rebalancing algorithms for a dynamic, self-balancing k-d tree, and measures their performance.
معرّف الورقة : 2509.08148العنوان : A Dynamic, Self-balancing k-d Treeالمؤلف : Russell A. Brownالتصنيف : cs.DS (هياكل البيانات والخوارزميات)تاريخ النشر : 13 أكتوبر 2025 (arXiv v8)رابط الورقة : https://arxiv.org/abs/2509.08148 يشير الوصف التقليدي لأشجار k-d إلى أن تقنيات إعادة التوازن المستخدمة في بناء أشجار AVL أو الأشجار الحمراء-السوداء غير قابلة للتطبيق على أشجار k-d، لأن هذه التقنيات تتضمن تبديل دوري لعقد الشجرة، مما ينتهك ثوابت شجرة k-d. لذلك، تتطلب أشجار k-d المتوازنة الثابتة عادة بناء دفعي من جميع بيانات k-البعد. ومع ذلك، تثبت هذه الورقة أنه يمكن بناء شجرة k-d ديناميكية تعيد توازنها ذاتياً حسب الحاجة بعد كل إدراج أو حذف لبيانات k-البعد. تصف الورقة خوارزميات الإدراج والحذف وإعادة التوازن لشجرة k-d الديناميكية ذاتية التوازن، وتقيس أدائها.
المشكلة الأساسية : أشجار k-d التقليدية هي هياكل بيانات ثابتة تتطلب معرفة مسبقة بجميع البيانات لبناء شجرة متوازنة، وغير قادرة على إدراج وحذف العقد ديناميكياً مع الحفاظ على التوازنالتحديات التقنية : عمليات الدوران في أشجار AVL والأشجار الحمراء-السوداء لا يمكن تطبيقها مباشرة على أشجار k-d، لأنها تنتهك ثابت استخدام أبعاد مختلفة كمفاتيح تقسيم في مستويات مختلفةالاحتياجات العملية : تتطلب العديد من سيناريوهات التطبيق أشجار k-d قابلة للتحديث الديناميكي، مثل قواعد البيانات المكانية في الوقت الفعلي والاستعلامات الهندسية الديناميكيةتُستخدم أشجار k-d على نطاق واسع في الفهرسة المكانية للبيانات متعددة الأبعاد والبحث عن أقرب جار تفتقر خطط شجرة k-d الديناميكية الحالية إما إلى الحفاظ على عدة أشجار k-d بأحجام مختلفة أو إعادة بناء هيكل الشجرة بالكامل، مما يؤدي إلى كفاءة منخفضة الحاجة إلى هيكل بيانات شجرة k-d واحد يمكن تحديثه بشكل تدريجي ويحافظ تلقائياً على التوازن اقتراح خوارزمية شجرة k-d ديناميكية ذاتية التوازن : تصميم هيكل بيانات شجرة k-d يعيد توازنه تلقائياً بعد الإدراج/الحذفآلية إعادة توازن مبتكرة : الحفاظ على التوازن من خلال إعادة بناء الأشجار الفرعية المحلية بدلاً من دوران العقد، مع الحفاظ على ثوابت شجرة k-dمعايير توازن مرنة : دعم معايير التوازن AVL والتوازن الأحمر-الأسود، مع إمكانية الاختيار بناءً على احتياجات التطبيقتحليل أداء شامل : توفير اختبارات وتحليلات أداء مفصلة لعمليات الإدراج والحذف والبحثتحسينات متعددة الخيوط : توفير حل تسريع متعدد الخيوط لإعادة بناء الأشجار الفرعية الكبيرةبناء هيكل بيانات شجرة k-d ديناميكية يدعم:
الإدخال : عمليات إدراج وحذف k-tuplesالإخراج : الحفاظ على شجرة k-d متوازنة تدعم استعلامات مكانية فعالةالقيود : الحفاظ على ثابت الدوران البعدي لشجرة k-d، مما يضمن تعقيد الوقت اللوغاريتمي للعملياتتقدم الورقة مفهوم المفتاح الفائق للتعامل مع المقارنات متعددة الأبعاد:
بالنسبة للإحداثيات ثلاثية الأبعاد (x,y,z)، المفتاح الفائق هو x:y:z, y:z:x, z❌y في الترتيب الدوري يشير القولون في المفتاح الفائق إلى الربط، مثل z❌y يعني z هو الرقم الأعلى، x هو الرقم الأوسط، y هو الرقم الأقل يستخدم كل مستوى مفتاح فائق مختلف للمقارنة والتقسيم يدعم معيارين للتوازن:
توازن AVL : الفرق بين ارتفاع الأشجار الفرعية اليسرى واليمنى لأي عقدة لا يتجاوز 1التوازن الأحمر-الأسود : الفرق بين ارتفاع الأشجار الفرعية اليسرى واليمنى لأي عقدة لا يتجاوز ضعفينبالنسبة للحالات التي تحتوي على عقدة فرعية واحدة فقط، يتراجع إلى معيار توازن AVL 1. البحث بشكل متكرر عن موضع الإدراج باستخدام المفتاح الفائق للمستوى المقابل
2. إدراج البيانات الجديدة في عقدة الورقة
3. في عملية التراجع المتكرر:
- إعادة حساب ارتفاع كل عقدة
- التحقق من شروط التوازن
- إذا تم انتهاك التوازن، إعادة بناء تلك الشجرة الفرعية
تنقسم عملية الحذف إلى ثلاث حالات:
عقدة الورقة : الحذف المباشرعقدة بفرع واحد : لا يمكن استبدالها ببساطة بالعقدة الفرعية (سيؤدي إلى انتهاك ثابت المفتاح الفائق)، يتطلب البحث عن عقدة سابقة أو لاحقة للاستبدالعقدة بفرعين : البحث عن عقدة سابقة أو لاحقة للاستبدال، مع إعطاء الأولوية للشجرة الفرعية ذات الارتفاع الأكبر لتحسين التوازناستعادة التوازن من خلال إعادة بناء الشجرة الفرعية غير المتوازنة بدلاً من عمليات الدوران بالنسبة للأشجار الفرعية الصغيرة (≤3 عقد)، استخدام إعادة بناء بمقارنة بسيطة بالنسبة للأشجار الفرعية الكبيرة، استخدام خوارزمية بناء شجرة O(n log n) دعم تسريع متعدد الخيوط للأشجار الفرعية الكبيرة (>65,536 عقدة) استراتيجية إعادة بناء الشجرة الفرعية : تجنب عمليات الدوران التقليدية التي تنتهك ثوابت شجرة k-dمعايير توازن مرنة : السماح بالاختيار بين توازن AVL والتوازن الأحمر-الأسود، مما يتناسب مع احتياجات الأداء المختلفةالبحث المحسّن عن السابق/اللاحق : تحسين خوارزمية البحث عن عقد السابق واللاحق لخصائص شجرة k-d متعددة الأبعاددعم متعدد الخيوط : توفير تحسينات إعادة بناء متوازية للبيانات الكبيرة الحجمالحجم : عدد العقد n في النطاق 1,003,201; 4,523,071 ، المقابل لـ n log₂(n) في 20,000,000; 100,000,000 نوع البيانات : k-tuples من الأعداد الصحيحة 64-بتتوزيع البيانات :
البيانات العشوائية: توليد باستخدام مولد أرقام عشوائية Mersenne Twister البيانات المرتبة: الحصول عليها من خلال الاجتياز المتسلسل بعد بناء شجرة k-d ثابتة (أسوأ حالة) الأبعاد : الاختبار الرئيسي للبيانات ثلاثية الأبعاد (إحداثيات x,y,z)وقت التنفيذ : وقت تنفيذ عمليات الإدراج والحذف والبحثارتفاع الشجرة : أقصى ارتفاع شجرة تحت استراتيجيات توازن مختلفةحجم إعادة البناء : إحصائيات حجم الأشجار الفرعية المعاد بناؤها أثناء إعادة التوازننسبة التسريع متعدد الخيوط : تحسن الأداء باستخدام عدد خيوط مختلفالأجهزة : HP Pro Mini 400 G9، معالج Intel i7 14700T، ذاكرة DDR5-4800 بسعة 64GBالبرامج : Ubuntu 24.04.1 LTS، مترجم g++ 13.2.0الإعدادات : تعيين خيط واحد إلى نواة أداء واحدة، تكرار 100 مرة وأخذ المتوسطخوارزمية بناء شجرة k-d الثابتة توازن AVL (فرق الارتفاع 1-4) مقابل التوازن الأحمر-الأسود استراتيجيات اختيار عقدة الاستبدال المختلفة إعادة بناء خيط واحد مقابل خيوط متعددة يرتبط وقت التنفيذ لجميع العمليات (الإدراج والحذف والبحث) خطياً بـ n log₂(n)، مما يتحقق من تعقيد الوقت اللوغاريتمي للخوارزمية.
وقت إدراج البيانات العشوائية حوالي 1.5 مرة من وقت البناء الثابت يعكس هذا الفرق الفرق بين إعادة التوازن الديناميكي والتوازن لمرة واحدة الإدراج : البيانات العشوائية أبطأ من البيانات المرتبة (تأثيرات الذاكرة المؤقتة)الحذف : البيانات المرتبة أبطأ من البيانات العشوائية (تتطلب إعادة بناء أشجار فرعية أكبر)n log₂(n) 2e7 3e7 4e7 5e7 6e7 7e7 8e7 9e7 1e8 أقصى حجم إعادة بناء للبيانات المرتبة (k عقدة) 1,003 1,465 1,917 2,361 1,618 3,234 3,668 2,985 4,523 أقصى حجم إعادة بناء للبيانات العشوائية (k عقدة) 461 723 728 633 505 615 647 566 820
تتطلب البيانات المرتبة إعادة بناء أشجار فرعية بحجم يبلغ 2-6 مرات من البيانات العشوائية.
استراتيجية التوازن الإدراج الحذف البحث AVL-1 12.9 11.9 6.23 AVL-2 11.7 9.85 5.80 AVL-3 10.9 8.91 5.72 AVL-4 9.41 8.81 5.88 أحمر-أسود 6.55 9.50 4.74
أداء الإدراج : التوازن الأحمر-الأسود يتفوق على جميع تكوينات AVLأداء الحذف : AVL-3 و AVL-4 يتفوقان على التوازن الأحمر-الأسودأداء البحث : التوازن الأحمر-الأسود الأمثل، بخلاف التوقعات النظريةلعملية حذف البيانات المرتبة:
خيطان: تحسن أداء ملحوظ 4-8 خيوط: تحسن إضافي، لكن العائد يتناقص استخدام خيوط متعددة فقط للأشجار الفرعية >65,536 عقدة لتجنب تكاليف إنشاء الخيوط Bentley (1975) : تصميم شجرة k-d الأصلي، يعتقد أن تقنيات إعادة التوازن التقليدية غير قابلة للتطبيقFriedman et al. (1977) : اقتراح استراتيجية اختيار البعد بناءً على التباينProcopiuc et al. (2003) : BKD-tree، استخدام عدة أشجار k-d بأحجام مختلفةWillard (1978) : هيكل بيانات ديناميكي بناءً على أشجار k-d*مزايا هذه الورقة: الحفاظ على شجرة k-d واحدة، أكثر بساطة وكفاءة أشجار AVL : توازن صارم، فرق الارتفاع ≤1الأشجار الحمراء-السوداء : توازن نسبي، أطول مسار ≤ ضعفي أقصر مسارFoster (1973) : أشجار AVL المعممة، السماح بفروقات ارتفاع أكبرالجدوى : إثبات جدوى وفعالية شجرة k-d الديناميكية ذاتية التوازنالأداء : تحقيق تعقيد زمني O(n log n) للإدراج والحذف والبحثالمرونة : دعم معايير توازن متعددة، يمكن اختيارها بناءً على احتياجات التطبيقالجدوى العملية : توفير تطبيقات Java و C++ كاملةتكاليف إعادة البناء : قد تؤدي إعادة بناء الأشجار الفرعية الكبيرة إلى تأخير عملية واحدة طويلةاستخدام الذاكرة : يتطلب تخزين معلومات الارتفاع الإضافيةتعقيد متعدد الخيوط : تعقيد إعادة البناء متعدد الخيوط يزيد من تعقيد التطبيققيود البعد : يزداد تعقيد الخوارزمية مع البعد kتقترح الورقة ثلاثة اتجاهات بحثية:
تحليل الأداء : جمع رسوم بيانية لأوقات تنفيذ العمليات الفردية وتوزيعات حجم الأشجار الفرعية المعاد بناؤهاتحسين التوازن : دراسة تأثير متوسط ارتفاع الشجرة على أداء البحثتحسين التوازي : تحديد حد حجم الشجرة الفرعية الأمثل لإعادة البناء متعدد الخيوطالمساهمة النظرية : حل مشكلة تقنية طويلة الأمد في التوازن الديناميكي لشجرة k-dتصميم الخوارزمية : تجنب ذكي لقيود عمليات الدوران من خلال إعادة بناء الأشجار الفرعيةالتجارب الشاملة : تغطي توزيعات بيانات متعددة واستراتيجيات توازن ومؤشرات أداءالقيمة العملية : توفير تطبيقات مفتوحة المصدر، مما يسهل التطبيق العمليتحليل الأداء : تحليل متعمق لتأثيرات الذاكرة المؤقتة وتوزيع البيانات وعوامل أخرىنقص التحليل النظري : افتقار إلى تحليل نظري صارم لتعقيد الحالة الأسوأ للخوارزميةقابلية التوسع البعدية : الاختبار الرئيسي للبيانات ثلاثية الأبعاد، لم يتم التحقق الكافي من الأداء في الحالات عالية الأبعادتحليل الذاكرة المفقود : عدم وجود تحليل تفصيلي لاستخدام الذاكرة وتعقيد المساحةالمقارنة غير الكافية : نقص المقارنة المباشرة مع هياكل البيانات الديناميكية الأخرى متعددة الأبعادالقيمة الأكاديمية : توفير أفكار جديدة لبحث هياكل البيانات الديناميكية متعددة الأبعادالقيمة العملية : يمكن تطبيقها في نظم المعلومات الجغرافية والرسومات الحاسوبية وتعلم الآلة وغيرهاإمكانية التكرار : توفير تطبيق مفتوح المصدر كامل، مما يسهل التحقق والتوسعقواعد البيانات المكانية الديناميكية : تطبيقات تتطلب إدراج/حذف متكرر للكائنات المكانيةالاستعلامات الهندسية في الوقت الفعلي : مثل كشف التصادم والبحث عن أقرب جارتعلم الآلة : الفهرسة والاستعلام عن فضاء الميزات الديناميكيالرسومات الحاسوبية : تقسيم وتقسيم المشهد الديناميكي والاستعلامتستشهد الورقة بـ 15 مرجعاً ذا صلة، تغطي أشجار k-d وأشجار AVL والأشجار الحمراء-السوداء وتحليل الخوارزميات وغيرها، مما يعكس أساساً نظرياً متيناً وبحثاً شاملاً عن الأدبيات.
التقييم الإجمالي : هذه ورقة بحثية عالية الجودة في مجال هياكل البيانات والخوارزميات، تحل مشكلة تقنية مهمة وهي التوازن الديناميكي لشجرة k-d. المساهمة النظرية للورقة واضحة، وتصميم التجارب معقول، والقيمة العملية بارزة. على الرغم من وجود مجال للتحسين في عمق التحليل النظري وقابلية التوسع البعدية، إلا أن الورقة بشكل عام تقدم مساهمة مهمة لبحث هياكل البيانات متعددة الأبعاد.