20. مقارنة عملية بين أنواع الفرز O(N²)
على الرغم من أن Bubble و Selection و Insertion Sort تشترك جميعها في التعقيد الزمني لأسوأ حالة O(N²)، إلا أن خصائص أدائها تختلف من الناحية العملية.
| الخوارزمية | أسوأ وقت | أفضل وقت | التبديلات/الإزاحات | الاستقرار (Stability) |
|---|---|---|---|---|
| Bubble Sort | O(N²) | O(N) | العديد من التبديلات/الإزاحات | مستقرة (Stable) |
| Selection Sort | O(N²) | O(N²) | الحد الأدنى من التبديلات | غير مستقرة (Unstable) |
| Insertion Sort | O(N²) | O(N) | العديد من الإزاحات، القليل من التبديلات | مستقرة (Stable) |
- الاستقرار (Stability): يكون الفرز مستقراً إذا حافظ على الترتيب النسبي للعناصر المتساوية.
- متى تستخدم Insertion Sort: إنها الأكثر عملية بين أنواع فرز O(N²) لأن أداءها في أفضل حالة O(N) يجعلها سريعة جداً للمصفوفات المفرزة إلى حد كبير بالفعل.
- متى تتجنب استخدامها: بالنسبة لمجموعات البيانات الكبيرة وغير المفرزة تماماً، يجب أن ننتقل إلى خوارزميات O(N log N) الأكثر تقدماً.