العودة إلى الدورة

الدرس السابع عشر: تحليل كفاءة فرز الفقاعة (Bubble Sort)

الخوارزميات: من الصفر إلى الاحتراف (دليل المبتدئين)

17. تحليل كفاءة فرز الفقاعة (Bubble Sort)

كما رأينا، يستخدم Bubble Sort حلقات متداخلة، مما يشير عادةً إلى تعقيد زمني تربيعي.

تحليل التعقيد الزمني

  • أسوأ حالة (Worst Case): O(N²)
    • يحدث عندما تكون المصفوفة مفرزة بترتيب عكسي. يجب أن تقوم الحلقة الداخلية بأقصى قدر من المقارنات في كل تمريرة.
  • أفضل حالة (Best Case): O(N)
    • يحدث إذا كانت المصفوفة مفرزة بالفعل. إذا أضفنا علامة (flag) لاكتشاف ما إذا حدثت أي عمليات تبديل في تمريرة، يمكننا التوقف مبكراً بعد التمريرة الأولى O(N)، مما يحقق وقتاً خطياً.
  • الحالة المتوسطة (Average Case): O(N²)

التعقيد المكاني

  • التعقيد المكاني (Space Complexity): مساحة مساعدة O(1).
    • Bubble sort هي خوارزمية فرز في الموقع (in-place)، مما يعني أنها تتطلب حداً أدنى وثابتاً من الذاكرة الإضافية (عادةً للمتغيرات المؤقتة المستخدمة في التبديل فقط).