الفرز مرئيًا: الفرز الفقاعي وبالاختيار وبالإدراج وبالدمج خطوة بخطوة
علوم الحاسوبالخوارزميات وحل المشكلات13–14 سنة
جارٍ التحميل…
سجّل الدخول للتشغيلتُرسم قائمة من الأعداد على شكل أعمدة؛ اختر الفرز الفقاعي أو الفرز بالاختيار أو الفرز بالإدراج أو الفرز بالدمج، ثم اضغط «خطوة» أو «ابدأ». تُبرز كل خطوة الزوج الجاري مقارنته والزوج الجاري تبديله والجزء المرتب، مع عدّ المقارنات والتبديلات، ويُبرَز كذلك السطر المقابل في الشيفرة الزائفة. يقسم الفرز بالدمج الأعمدة إلى نصفين مستوى بعد مستوى ثم يدمجها من جديد، ويقارن جدول ورسم بياني عدد المقارنات في الخوارزميات الأربع (n log n مقابل n²). ويمكن للطلاب سحب عمود لتغيير قيمته قبل التشغيل.
الدرس: خوارزميات الفرز (الفقاعي، بالاختيار، بالإدراج، بالدمج)، الحلقات المتداخلة، ومبدأ فرّق تسد
ماذا تعرض
يعيد الفرز الفقاعي والفرز بالاختيار والفرز بالإدراج ترتيب القائمة بحلقات متداخلة، لذا تحتاج في أسوأ الحالات إلى نحو n²/2 مقارنة لقائمة من n عنصرًا. يُجري الفرز بالاختيار على الأكثر n − 1 تبديلًا، ويمكن للفرز الفقاعي أن يتوقف بعد تمريرة بلا تبديلات، أما الفرز بالإدراج فسريع جدًا على البيانات شبه المرتبة. ويعتمد الفرز بالدمج على مبدأ فرّق تسد: يقسم القائمة إلى نصفين مرة بعد مرة حتى تبقى عناصر منفردة، ثم يدمج الأنصاف المرتبة من جديد. وكل مستوى من مستوياته، وعددها نحو log₂n، يكلّف n مقارنة على الأكثر، فيحتاج إلى نحو n·log₂n مقارنة أيًّا كان الترتيب الابتدائي، وهذا أقل بكثير من n²/2 عندما تكون n كبيرة.
طريقة الاستخدام
ابدأ بنحو 8 عناصر واضغط «خطوة»، واطلب من الطلاب توقّع نتيجة كل مقارنة مُبرَزة مع متابعة السطر المقابل في الشيفرة الزائفة. اضغط «ابدأ» وسجّل عدد المقارنات والتبديلات، ثم غيّر «الخوارزمية» وكرّر مع خياري «تنازلية (أسوأ حالة)» و«شبه مرتبة». اختر «الفرز بالدمج» لترى الأعمدة تنقسم مستوى بعد مستوى ثم تندمج؛ ويطبّق الجدول والرسم البياني أسفلها الخوارزميات الأربع على القائمة نفسها. ويمكن أيضًا سحب عمود قبل التشغيل.
المعاملات القابلة للتغيير
- عدد العناصر 4–30
- الخوارزمية الفرز الفقاعي, الفرز بالاختيار, الفرز بالإدراج, الفرز بالدمج
- القائمة الابتدائية عشوائية, تنازلية (أسوأ حالة), شبه مرتبة
- سرعة التشغيل 1–20 خطوة/ث
- إظهار مقارنة الخوارزميات الأربع
أسئلة للاستكشاف
- بعد التمريرة الأولى في الفرز الفقاعي، أي عنصر يكون مؤكدًا أنه في موضعه النهائي؟
- أي خوارزمية تُجري أقل عدد من التبديلات على قائمة تنازلية، ولماذا؟
- لماذا ينتهي الفرز بالإدراج بسرعة كبيرة على قائمة شبه مرتبة؟