خوارزمية الترتيب الفقاعى Bubble Sorting

الهدف

ترتيب مجموعة من عناصر مصفوفة

مثلًا

الدخل : [1,5,2,7]

الخرج : [1,2,5,7]

كيف تعمل خوارزمية الترتيب الفقاعى

  • يتم مقارنة العنصر الاول بالثانى وبعدها الثانى بالثالث وهكذا -بمعنى اخر مقارنة كل عنصر مع العنصر التالى له-
  • يتم التبديل بين العناصر فى حالة ان العنصر الحالى اكبر من العنصر التالى
  • بعد اول لفة يكون اكبر عنصر فى اقصى يمين المصفوفة 
  • فى كل لفة من اللفات اللاحقة يتم انقاص 1 من عدد المقارنات التى تتم خلال اللفة , حيث انه تم ترتيب عنصر بالفعل فى مكانه الصحيح فى اللفة السابقة 

مثال على خوارزمية الترتيب الفقاعى

مثال على خوارزمية الترتيب الفقاعى

الكود باستخدام لغة Python


زمن التنفيذ

تحسين على الخوارزمية

يمكن تحسين عمل الخوارزمية عن طريق اكتشاف ما اذا كانت المصفوفة مرتبة من البداية ام لا عن طريق اكتشاف انه لم يحدث اي عملية Swapping , ففى حالة ما اذا كانت المصفوفة مرتبة فيتوقف البرنامج عن اكمال الترتيب.

الكود بعد التحسين


وايضًا نفس زمن التنفيذ