تواصل معنا

كورس جافا سوينج
كورس أختبار البرمجيات
الان ومجانا لمدة شهر اللهم ارفع عنا البلاء والوباء
كورس لغة الدارت والفلتر
عن المدونة
Mohon Aktifkan Javascript!Enable JavaScript

الاثنين، 8 أبريل 2019

الخوارزميات الحلقة السادسة عشر خوارزميه الترتيب الفقاعي Bubble sort

                              بسم الله الرحمن الرحيم
ما هو Bubble sort ؟
قائم علي المقارنة بين زوج من العناصر وترتيب مواقعهم 


مثال للتوضيح :

لدينا المصفوفة التالية {7, 4, 5, 2} كيف نستطيع ترتيبها تصاعدياً بأستخدام Bubble sort

في الخطوة الأولى: مقارنة الرقم 4 مع الرقم 7، وبما أنّ 4 < 7، سيتم تبديل موقعيهما فيما بينهما، ولأن باقي العناصر أصغر من الـ 7، ستكرر العملية حتى يصبح رقم 7 في آخر المصفوفة.
الآن أصبحت المصفوفة بالشكل الآتي : {4, 5, 2, 7}

في الخطوة الثانية: مقارنة الرقم 5 مع الرقم 4 ، وبما أنّ 4 < 5، ومرتبين ترتيبًا تصاعديًا لن يتم تبديل موقعيهما. ثم مقارنة الرقم 5 مع الرقم 2، طبعًا بما أنّ 2 < 5، سيتمّ تبديل موقعيهما فيما بينهما.
 الآن أصبحت المصفوفة بالشكل الآتي: {4, 2, 5, 7}

في الخطوة الثالثة: مقارنة الرقم 4 مع الرقم 2، بما أنّ 2 < 4، سيتمّ تبديل موقعيهما فيما بينهما. لتصبح المصفوفة مرتبةً تصاعديًا بالشكل التالي: {2,4,5,7}.

تعقيدات الوقت

Time Complexity o(n^2) 

لأنه يتم المرور علي كل عنصر n  عدد n من المرات 

كود ال Bubble sort

java code

  1. public class BubbleSortExample {  
  2.     static void bubbleSort(int[] arr) {  
  3.         int n = arr.length;  
  4.         int temp = 0;  
  5.          for(int i=0; i < n; i++){  
  6.                  for(int j=1; j < (n-i); j++){  
  7.                           if(arr[j-1] > arr[j]){  
  8.                                  //swap elements  
  9.                                  temp = arr[j-1];  
  10.                                  arr[j-1] = arr[j];  
  11.                                  arr[j] = temp;  
  12.                          }  
  13.                           
  14.                  }  
  15.          }  
  16.   
  17.     }  
  18.     public static void main(String[] args) {  
  19.                 int arr[] ={3,60,35,2,45,320,5};  
  20.                  
  21.                 System.out.println("Array Before Bubble Sort");  
  22.                 for(int i=0; i < arr.length; i++){  
  23.                         System.out.print(arr[i] + " ");  
  24.                 }  
  25.                 System.out.println();  
  26.                   
  27.                 bubbleSort(arr);//sorting array elements using bubble sort  
  28.                  
  29.                 System.out.println("Array After Bubble Sort");  
  30.                 for(int i=0; i < arr.length; i++){  
  31.                         System.out.print(arr[i] + " ");  
  32.                 }  
  33.    
  34.         }  

لمتابعة الحلقة السابقة 

الخوارزميات الحلقة الخامسة عشر تصنيفات الخوارزميات من خلال خصائصها 

لمتابعة الحلقة التالية 

الخوارزميات الحلقة السابعة عشر الترتيب السريع Quick sort  

ليست هناك تعليقات:

إرسال تعليق