🧮 مرجع الخوارزميات وتعقيدها بالعربي
كل خوارزمية ترتيب وبحث وفئة تعقيد بالعربي: كيف تعمل، مثال كود، وتعقيدها الزمني — مرجع سريع للمقابلات التقنية. حاليًا 12 خوارزمية — والقائمة تكبر.
خوارزميات الترتيب
Bubble Sort
الترتيب الفقاعي
Bubble Sort تقارن كل عنصرين متجاورين وتبدّلهما إن كانا بالترتيب الخاطئ، وتكرّر المرور حتى لا يوجد أي تبديل — أبسط خوارزمية ترتيب لكن أبطأها.
Selection Sort
ترتيب الاختيار
Selection Sort تبحث عن أصغر عنصر بالجزء غير المرتّب وتضعه بمكانه الصحيح، وتكرّر ذلك حتى تنتهي المصفوفة.
Insertion Sort
ترتيب الإدراج
Insertion Sort تبني المصفوفة المرتّبة تدريجيًا، تُدرج كل عنصر جديد بموضعه الصحيح ضمن الجزء المرتّب سابقًا — تمامًا كترتيب أوراق لعب بيدك.
Merge Sort
الترتيب بالدمج
Merge Sort تقسّم المصفوفة لنصفين بشكل متكرّر (فرّق تسد) حتى تصل لعناصر مفردة، ثم تدمجها مرتّبة تصاعديًا — أداء مضمون O(n log n) دائمًا.
Quick Sort
الترتيب السريع
Quick Sort تختار عنصرًا محوريًا (pivot)، تقسّم المصفوفة لأصغر وأكبر منه، ثم تكرّر ذلك على كل قسم — الأسرع عمليًا بمتوسط الحالات رغم أسوأ حالة نظرية أبطأ.
خوارزميات البحث
فئات التعقيد (Big O)
O(1)
زمن ثابت
O(1) يعني أن العملية تأخذ نفس الوقت تقريبًا بغض النظر عن حجم البيانات — الأسرع الممكن.
O(log n)
زمن لوغاريتمي
O(log n) يعني أن العملية تستبعد جزءًا كبيرًا من البيانات بكل خطوة (غالبًا النصف) — سريعة جدًا حتى مع بيانات ضخمة.
O(n)
زمن خطّي
O(n) يعني أن الوقت يزداد بشكل متناسب طرديًا مع حجم البيانات — ضعف البيانات يعني تقريبًا ضعف الوقت.
O(n log n)
زمن شبه خطّي
O(n log n) هو تعقيد أفضل خوارزميات الترتيب المقارنة (Merge Sort، Quick Sort بالمتوسط) — أسرع بكثير من O(n²) مع بيانات كبيرة.
O(n²)
زمن تربيعي
O(n²) يعني أن الوقت يتناسب مع مربّع حجم البيانات — حلقة متداخلة داخل حلقة أخرى على نفس البيانات، بطيئة جدًا مع بيانات كبيرة.
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار DSA الكامل بالعربي.