حل المشاكل مع العد التنازلي: الحسابات وسجلات التطبيقات

يعد حساب (سورت) خوارزمية فعالة للفرز تستخدم لفرز البخار في نطاق محدد، ويعمل ذلك بحساب عدد الحوادث لكل قيمة، ثم حساب مواقع كل عنصر في الصفوف المصنَّفة، وهذا الأسلوب مفيد بصفة خاصة عندما لا تكون مجموعة بيانات المدخلات أكبر بكثير من عدد العناصر التي يتعين فرزها.

كيف يحسب أعمال السورت

ويبدأ الخوارزمية بإنشاء مجموعة عدية تخزن تواتر كل قيمة من بيانات المدخلات، ثم تُعدل هذه المجموعة بحيث تتضمن المواقع الفعلية لكل عنصر من عناصر الناتج المصنَّف، وأخيرا، فإنها تُنشئ المجموعة المصنَّفة بوضع عناصر في مواقعها الصحيحة على أساس صفيفة العد.

الفرز

يفترض أن لدينا المجموعة التالية: [4، 2، 8، 3، 1].

[0, 1, 2, 1, 0, 0, 0, 0, 1]

وهذا يدل على تواتر كل عدد، ثم يقوم الخوارزمي بتحديد الأرقام التراكمية لتحديد الوظائف:

[0, 1, 3, 5, 6, 6, 6, 7]

وباستخدام هذه، يصبح المصفوفة المصنَّفة: [1، 2، 2، 3، 3، 4، 8].

سيناريوهات التطبيق

(أ) يعد العدّة المناسبة للسيناريوهات التي تتكون منها بيانات المدخلات من مُبتدئين في نطاق محدود معروف، وكثيراً ما يُستخدم في:

وتتوقف كفاءتها على حجم النطاق الذي يُعزى إلى عدد العناصر، وعندما يكون النطاق صغيراً، فإن العد التنازلي يمكن أن يتجاوز أداء الخوارزميات القائمة على المقارنة مثل السرقات السريعة أو الدمج.