تخطَّ إلى المحتوى

🧮 مرجع الخوارزميات وتعقيدها بالعربي

كل خوارزمية ترتيب وبحث وفئة تعقيد بالعربي: كيف تعمل، مثال كود، وتعقيدها الزمني — مرجع سريع للمقابلات التقنية. حاليًا 28 خوارزمية — والقائمة تكبر.

خوارزميات الترتيب

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)، تقسّم المصفوفة لأصغر وأكبر منه، ثم تكرّر ذلك على كل قسم — الأسرع عمليًا بمتوسط الحالات رغم أسوأ حالة نظرية أبطأ.

Counting Sort

الترتيب بالعدّ

Counting Sort يرتّب بعدّ تكرار كل قيمة بدل مقارنة العناصر، بتعقيد O(n + k) حيث k مدى القيم — أسرع من الترتيب المقارِن لكن فقط عندما k محدود المدى.

Radix Sort

الترتيب الأساسي

Radix Sort يرتّب الأعداد رقمًا (خانة) واحدة في كل مرة من الأقل أهمية للأكثر، باستخدام خوارزمية مستقرّة (عادة Counting Sort) كخطوة فرعية بكل مرور.

خوارزميات البحث

فئات التعقيد (Big O)

خوارزميات الرسوم البيانية

BFS (Breadth-First Search)

البحث بالعرض

BFS يزور كل جيران العقدة الحالية أولًا قبل التعمّق لأبعد منها، باستخدام طابور (Queue) — يضمن أقصر مسار بعدد القفزات في رسم بياني غير موزون.

DFS (Depth-First Search)

البحث بالعمق

DFS يتعمّق في فرع واحد من الرسم البياني حتى نهايته قبل التراجع لتجربة فرع آخر، باستخدام مكدّس (أو التعاوديّة).

Dijkstra's Algorithm

خوارزمية Dijkstra

خوارزمية Dijkstra تجد أقصر مسار (بالوزن) من عقدة مصدر لكل عقدة أخرى في رسم بياني موزون بأوزان غير سالبة — أساس تطبيقات الملاحة والخرائط.

Topological Sort

الترتيب الطوبولوجي

الترتيب الطوبولوجي يرتّب عقد رسم بياني موجّه بلا دورات (DAG) بحيث تسبق كل عقدة كل عقدة تعتمد عليها — أساس جدولة المهام المترابطة.

Union-Find (DSU)

Union-Find (Disjoint Set Union)

Union-Find هيكل بيانات يتتبّع مجموعات منفصلة لا تتقاطع، بعمليتين أساسيتين: دمج مجموعتين (union) وفحص هل عنصران بنفس المجموعة (find) — بزمن شبه ثابت مع تحسينين بسيطين.

Kruskal's Algorithm

خوارزمية Kruskal

خوارزمية Kruskal تبني الشجرة الممتدة الصغرى (MST) بترتيب كل أضلاع الرسم البياني تصاعديًا وإضافة كل ضلع لا يُكوّن دورة، بمساعدة Union-Find.

Prim's Algorithm

خوارزمية Prim

خوارزمية Prim تبني الشجرة الممتدة الصغرى (MST) بتنمية شجرة واحدة تدريجيًا من عقدة بدئية، وتضيف بكل خطوة أرخص ضلع يربط الشجرة الحالية بعقدة خارجها.

Bellman-Ford Algorithm

خوارزمية Bellman-Ford

خوارزمية Bellman-Ford تجد أقصر مسار من مصدر واحد لكل عقدة أخرى حتى لو وُجدت أوزان سالبة (حيث تفشل Dijkstra)، وتكشف أيضًا وجود دورة سالبة.

Floyd-Warshall Algorithm

خوارزمية Floyd-Warshall

خوارزمية Floyd-Warshall تحسب أقصر مسار بين كل زوج من العقد دفعة واحدة ببرمجة ديناميكية، بتعقيد O(V³)، وتتعامل مع أوزان سالبة بلا دورة سالبة.

هياكل البيانات

تقنيات حل المسائل

🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار DSA الكامل بالعربي.