فحص العمل الداخلي لطريقة الفرز () المدمجة في بايثون
تلعب طريقة الفرز () المدمجة في بايثون دورًا حاسمًا في تنظيم هياكل البيانات بترتيب تصاعدي. الخوارزمية وراء هذه الطريقة، والمعروفة باسم Timsort، هي خوارزمية فرز هجينة تجمع بين كفاءة فرز الإدراج للمصفوفات الصغيرة واستقرار الفرز المدمج للمصفوفات الأكبر.
Timsort: نهج هجين
تعمل خوارزمية Timsort عن طريق تقسيم مصفوفة الإدخال أولاً إلى مصفوفات فرعية أصغر ذات حجم محدد مسبقًا. يتم بعد ذلك فرز هذه المصفوفات الفرعية باستخدام الفرز بالإدراج، وهو أمر فعال للغاية بالنسبة للمصفوفات الصغيرة.
بمجرد فرز المصفوفات الفرعية، تقوم الخوارزمية بدمجها معًا باستخدام نسخة معدلة من خوارزمية الفرز المدمج. يضمن هذا الأسلوب استقرار الفرز، مما يعني أن العناصر المتساوية في المصفوفة الأصلية تحتفظ بترتيبها النسبي في المخرجات التي تم فرزها.
استكشاف التنفيذ
الكود المصدري لأن طريقة الترتيب () متاحة في لغة C ويمكن العثور عليها في مترجم بايثون نفسه. الكود واسع جدًا، لكن جوهره يكمن في الدالة timlsort، التي تتولى عملية الفرز.
تتكرر وظيفة timlsort عبر مصفوفة الإدخال، مما يؤدي إلى إنشاء مصفوفات فرعية ذات حجم محدد مسبقًا. ثم تستدعي وظيفة الدمج لدمج المصفوفات الفرعية التي تم فرزها في مجموعات أكبر حتى يتم فرز المصفوفة بأكملها.
موارد إضافية
للحصول على شرح مفصل لخوارزمية Timsort و تنفيذه، راجع الموارد التالية:
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3