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

الهدف

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

مثلًا

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

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

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

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

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

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

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


زمن التنفيذ

fun 1

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

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

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


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

fun 5