قائمة الأسئلةالسؤال 2 من 2 · Bubble Sort: Neighbours, Passes, and When to Stop
تمرين على الدرس
تتبّع Bubble Sort من اليمين لليسار
تحليل كودالعلامة: 4
السؤال الأصلي
تتبّع نسخة Bubble Sort المعروضة التي تمر من اليمين لليسار على [5,2,4,6,1]. اكتب array بعد كل مرور كامل ومجموع مقارنات القيم وswaps. لماذا نحتاج مرورًا آخر بعد أن تصبح القيم مرتبة أول مرة؟
#include <utility>
void bubbleSort(int a[], int n) {
bool sorted = false;
int last = n - 1;
for (int i = 0; i < last && !sorted; ++i) {
sorted = true;
for (int j = last; j > i; --j) {
if (a[j - 1] > a[j]) {
std::swap(a[j - 1], a[j]);
sorted = false;
}
}
}
}
المصدر والصفحة الكاملة
يحتاج إلى مراجعةتمرين تعليمي مؤلف لتطبيق أفكار هذه المحاضرة وأمثلتها. ليس من امتحان تاريخي، ولا ينسب نصه إلى الدكتور.
تمرين تكميلي بتقييم ذاتي. جرى فحص الحسابات والبنية ببرنامج verify-notebook-batch2.mjs؛ لا يمثل نقلًا لسؤال امتحان أو اعتمادًا للمصدر.
خوارزميات الترتيبالاستدعاء الذاتي وعلاقات التكرار
دفتر Algorithms الكامل من قناة تيليجراممحادثة تيليجرام