أخبار الموقع

الإعلام الآلي — الخوارزميات: الفرز بالإدراج (Insertion Sort) — الثانية ثانوي — المنهاج الجزائري

الخوارزميات: الفرز بالإدراج (Insertion Sort)

الفرز بالإدراج هو أحد خوارزميات الترتيب البسيطة والفعالة. يعمل بنفس طريقة ترتيب أوراق اللعب في اليد، حيث يتم إدراج كل عنصر في مكانه المناسب بين العناصر التي سبق ترتيبها.

مبدأ الخوارزمية

فكرة الخوارزمية بسيطة: نبدأ من العنصر الثاني في المصفوفة، ونقارنه مع العناصر التي قبله، ثم نزيح العناصر الأكبر منه إلى اليمين، وندرج العنصر في المكان المناسب. نكرر هذه العملية لكل عنصر.

خطوات الخوارزمية

  1. نبدأ من العنصر الثاني (i = 1)
  2. نخزن قيمة العنصر الحالي في متغير مؤقت (key)
  3. نقارن key مع العناصر السابقة (j = i-1, i-2, …)
  4. إذا كان العنصر السابق أكبر من key، نزيحه إلى اليمين
  5. نكرر الخطوة 4 حتى نجد المكان المناسب
  6. ندرج key في مكانه المناسب
  7. ننتقل إلى العنصر التالي (i++) ونكرر

تطبيق الخوارزمية بلغة C

void insertionSort(int arr[], int n) {
    int i, key, j;
    for (i = 1; i < n; i++) {
        key = arr[i];
        j = i - 1;
        
        while (j >= 0 && arr[j] > key) {
            arr[j + 1] = arr[j];
            j = j - 1;
        }
        arr[j + 1] = key;
    }
}

تحليل التعقيد

  • أفضل حالة: O(n) عندما تكون المصفوفة مرتبة بالفعل
  • أسوأ حالة: O(n²) عندما تكون المصفوفة مرتبة تنازلياً
  • الحالة المتوسطة: O(n²)
  • الذاكرة الإضافية: O(1) (خوارزمية موضعية)

مثال تطبيقي

لنرتب المصفوفة [5, 2, 4, 6, 1, 3]:

  • i=1: key=2, نقارن مع 5 ← [2, 5, 4, 6, 1, 3]
  • i=2: key=4, نقارن مع 5 ثم 2 ← [2, 4, 5, 6, 1, 3]
  • i=3: key=6, مكانه صحيح ← [2, 4, 5, 6, 1, 3]
  • i=4: key=1, نزيح الكل ← [1, 2, 4, 5, 6, 3]
  • i=5: key=3, نزيح 4,5,6 ← [1, 2, 3, 4, 5, 6]

تمارين

  1. طبق خوارزمية الفرز بالإدراج على المصفوفة [8, 3, 5, 1, 9, 2] خطوة بخطوة.
  2. أكتب برنامجاً بلغة C يقرأ 5 أعداد من المستخدم ويرتبها ترتيباً تصاعدياً باستخدام Insertion Sort.
  3. قارن بين خوارزمية الفرز بالإدراج وخوارزمية الترتيب بالإدراج من حيث السرعة.
  4. ما فائدة كون الخوارزمية موضعية (In-place) من حيث استهلاك الذاكرة؟

للمزيد من المعلومات، راجع درس الخوارزميات: الترتيب بالإدراج ودرس الخوارزميات: البحث الثنائي.

📍 دروس مشابهة

شاهد أيضا

علم الاجتماع — نظريات التغيير الاجتماعي

علم الاجتماع: نظريات التغيير الاجتماعي التغيير الاجتماعي هو أحد الموضوعات المركزية في علم الاجتماع. يعني …

اللغة الفرنسية — Les couleurs et les formes: vocabulaire essentiel — 1ère Année Moyenne — Programme Algérien

Les couleurs et les formes Les couleurs Français Exemple Rouge Le drapeau algérien a du …

التاريخ والجغرافيا — الموارد الباطنية في الجزائر: البترول والغاز والفسفاط — السنة الخامسة إبتدائي — المنهاج الجزائري

الموارد الباطنية في الجزائر: البترول والغاز والفسفاط تملك الجزائر ثروات باطنية هائلة جعلتها من الدول …

اللغة الفرنسية — Le futur proche: aller + infinitif — 1ère Année Moyenne — Programme Algérien

Le futur proche: aller + infinitif Le futur proche exprime une action qui va se …

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

🎓 العد التنازلي لبكالوريا 2026
00 يوماً
:
00 ساعة
:
00 دقيقة
:
00 ثانية

📚 أحدث الدروس

عرض الكل ←
📖
س3 ابتدائي

التربية الإسلامية — بر الوالدين

فضل بر الوالدين وأهميته في الإسلام

🔢
س5 ابتدائي

الرياضيات — مساحة القرص

حساب مساحة الدائرة — ط × نق²

⚛️
3 ثانوي

الفيزياء — ثنائي القطب RL

تمارين بكالوريا مع الحلول

🌍
3 ثانوي

التاريخ — الحرب العالمية الأولى

الأسباب والنتائج — بكالوريا

📝 بنك الفروض والاختبارات

عرض الكل ←
فروض الفصل الأول جميع المواد — الأولى متوسط
اختبارات الفصل الثاني مع الحلول — الثالثة متوسط
مواضيع بكالوريا مقترحة مع الحلول — 3 ثانوي
مسابقات الأساتذة نماذج وحلول — 2026