خوارزمية Bubble Sort هي واحدة من أبسط وأبطأ الخوارزميات المستخدمة في ترتيب البيانات. على الرغم من أنها غير فعالة لترتيب مجموعات كبيرة من البيانات، إلا أنها تعد خوارزمية تعليمية مهمة لفهم المفهوم الأساسي لعملية الترتيب. سنقوم بشرح الخوارزمية ومن ثم تقديم مثال تطبيقي في لغة PHP.
خوارزمية Bubble Sort تعتمد على مبدأ مقارنة وتبديل العناصر المجاورة حتى تصل العناصر الأكبر إلى النهاية والأصغر إلى البداية. يتم تكرار هذه العملية حتى يتم ترتيب كل العناصر في المجموعة.
الخوارزمية تعمل على النحو التالي:
1. يتم تمرير المجموعة التي تحتاج إلى الترتيب.
2. يتم تكرار الخطوات التالية لعدد من المرات يساوي عدد العناصر في المجموعة:
- يتم مقارنة العنصر الحالي مع العنصر المجاور.
- إذا كان العنصر الحالي أكبر من العنصر المجاور، يتم تبديلهما.
- يتم الانتقال إلى العنصر التالي.
3. بعد الانتهاء من الخطوات السابقة، يكون أكبر عنصر في المجموعة قد وصل إلى النهاية.
4. يتم تكرار الخطوات 2 و 3 حتى تتمكن من ترتيب جميع العناصر في المجموعة.
مثال تطبيقي في لغة PHP:
لنفترض أن لدينا مجموعة من الأرقام التي نحتاج إلى ترتيبها باستخدام Bubble Sort في لغة php. هنا هو مثال لكيفية تنفيذها:
function bubbleSort($arr) {
$n = count($arr);
for ($i = 0; $i < $n - 1; $i++) {
for ($j = 0; $j < $n - $i - 1; $j++) {
if ($arr[$j] > $arr[$j + 1]) {
$temp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $temp;
}
}
}
return $arr;
}
// تجربة الخوارزمية
$numbers = [5, 2, 8, 12, 3];
$sortedNumbers = bubbleSort($numbers);
echo "الأرقام المرتبة بواسطة Bubble Sort: ";
foreach ($sortedNumbers as $number) {
echo $number . " ";
}
بعد تنفيذ الشيفرة السابقة، ستكون النتيجة كالتالي:
الأرقام المرتبة بواسطة Bubble Sort: 2 3 5 8 12
محاسن خوارزمية Bubble Sort:
- سهولة التنفيذ والفهم.
- لا يتطلب مساحة إضافية في الذاكرة.
عيوب خوارزمية Bubble Sort:
- كفاءة منخفضة في حالة المجموعات الكبيرة، حيث يتطلب العديد من التكرارات لترتيب العناصر.
- لا يُعتبر مستدامًا في حالة مجموعات كبيرة، حيث يستغرق وقتًا طويلاً للتنفيذ.
في الختام، خوارزمية Bubble Sort تعد خوارزمية بسيطة ومفهومة، ولكنها ليست الأكثر فعالية في ترتيب المجموعات الكبيرة. إذا كنت ترغب في ترتيب مجموعة كبيرة من البيانات، قد تكون هناك خوارزميات أكثر فعالية تستحق النظر.