ما هو الترتيب؟

خوارزميات الترتيب (Sorting Algorithms) هي مجموعة من الخوارزميات تُستَخدم لإعادة ترتيب مصفوفة أو قائمة من العناصر بناءً على عامل مقارنة معيّن يُحدِّد العلاقة بين أي عنصرين.11خوارزميات الترتيبwiki.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد في علم الحاسوب والرياضيات تُعرف هذه الخوارزمية باسم خوارزمية الفرز (Sort Algorithm) وتُتيح تنظيم مجموعة العناصر وفق ترتيب محدد يختاره المستخدم أو البرنامج.22خوارزمية فرزgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد العملية الأساسية هي تحويل الترتيب الأصلي للبيانات إلى ترتيب جديد يحقق الهدف المطلوب، كما يتضح من المثال الذي يتحول فيه المصفوفة [10, 20, 5, 2] إلى [2, 5, 10, 20] بعد تطبيق خوارزمية فرز مناسبة.33Sorting Algorithmsgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُطبق الخوارزميات على هياكل بيانات مختلفة وتستند إلى علاقة ترتيب محددة، مثل:
- الترتيب العددي (numerical order) حيث تُرتَّب القيم من الأصغر إلى الأكبر أو العكس.44Sort Visualizersortvisualizer.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- الترتيب المعجمي (lexicographical order) الذي يعتمد على ترتيب الحروف في السلاسل النصية.44Sort Visualizersortvisualizer.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
بهذا الشكل، تُحقق خوارزميات الترتيب تنظيم البيانات بطريقة منهجية تسهل عمليات البحث والمعالجة اللاحقة.
الترتيب الفقاعي
تُعرف خوارزمية الترتيب الفقاعي (Bubble Sort) بهذا الاسم لأن العنصر الذي يُرتب يتحرك في مسار يشبه صعود الفقاعة إلى الأعلى أثناء العملية.55خوارزميات الترتيبgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُعدّ هذه الخوارزمية من أبسط خوارزميات ترتيب البيانات، إلا أنها تُنتقد كثيرًا لبطئها مقارنةً بالبدائل الأخرى.66خوارزمية الترتيب - Bubble Sortgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد77فرز فقاعيgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد رغم ذلك، فإنها تُوفر تمثيلًا مرئيًا واضحًا لخطوات الترتيب، ما يجعلها مفيدة لأغراض تعليمية وعرضية.55خوارزميات الترتيبgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تعمل الخوارزمية على مبدأ مقارنة وتبديل العناصر المتجاورة حتى يتحقق الترتيب الصحيح، حيث تُرفع العنصر الأكبر في كل دورة كما ترتفع فقاعة الهواء إلى أعلى القائمة.66خوارزمية الترتيب - Bubble Sortgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد77فرز فقاعيgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد88شرح خوارزمية Bubble Sort في بايثون لترتيب المصفوفاتgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- يبدأ الفحص من بداية المصفوفة ويُقارن كل عنصرين متجاورين؛ إذا كان ترتيبهما غير صحيح يتم تبادلهما.88شرح خوارزمية Bubble Sort في بايثون لترتيب المصفوفاتgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تُستمر العملية عبر مرور كامل على المصفوفة، وتُكرر الجولات حتى لا يحدث أي تبديل في جولةٍ ما، مما يدل على اكتمال الترتيب.66خوارزمية الترتيب - Bubble Sortgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- في كل جولةٍ تُرفع أكبر عنصر غير مرتب إلى موضعه النهائي في نهاية المصفوفة، مشكّلةً "فقاعة" صاعدة تُظهر تقدم الخوارزمية.77فرز فقاعيgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
الترتيب بالإدراج
يُعَدّ الترتيب بالإدراج (Insertion Sort) خوارزمية بسيطة لكنها قوية تُستَخدم لتجميع العناصر في ترتيب تصاعدي أو تنازلي.99خوارزمية الترتيب الفقاعي (Bubble Sort)google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تعتمد الفكرة الأساسية على سحب عنصر من الجزء غير المرتب من المجموعة، ثم مقارنته مع العناصر الموجودة في الجزء المرتب من اليمين إلى اليسار، وإدراجه في الموضع الذي يحافظ على ترتيب القسم المرتب.1010شرح خوارزمية الترتيب بالإدراج (Insertion Sort) في بايثونgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد بهذه الطريقة تُبنى القائمة المرتبة تدريجيًا حتى يكتمل فرز جميع العناصر. يمكن تحويل الخوارزمية إلى أي لغة برمجة تُفضَّل، مثل جافا أو سي ++ أو بايثون، ما يجعلها مرنة للتطبيق في بيئات مختلفة.1111Sorting Algorithms Part1: Insertion Sortgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
تتضمن خطوات الترتيب بالإدراج ما يلي:
- سحب العنصر التالي من الجزء غير المرتب.1010شرح خوارزمية الترتيب بالإدراج (Insertion Sort) في بايثونgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- مقارنة هذا العنصر مع العناصر في الجزء المرتب بدءًا من الطرف الأيمن.1010شرح خوارزمية الترتيب بالإدراج (Insertion Sort) في بايثونgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- إزاحة العناصر الأكبر (أو الأصغر حسب الاتجاه) لإفساح المجال للعنصر الجديد.1010شرح خوارزمية الترتيب بالإدراج (Insertion Sort) في بايثونgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- إدراج العنصر في الموضع المناسب داخل الجزء المرتب.1010شرح خوارزمية الترتيب بالإدراج (Insertion Sort) في بايثونgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
تُعَدّ هذه العملية وسيلة فعّالة لتقوية مهارات الترتيب وفهم التعقيد الزمني للخوارزميات، حيث يتيح للمتعلم استكشاف سلوك الخوارزمية على مجموعات بيانات مختلفة.99خوارزمية الترتيب الفقاعي (Bubble Sort)google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
الترتيب بالدمج
تُعَدُّ خوارزمية الترتيب بالدمج (Merge Sort) إحدى خوارزميات الفرز التي تُستَخدم لترتيب مجموعة من العناصر بصورة مستدامة وفعّالة، وتعتمد على مبدأ دمج القوائم المرتبة في قائمة واحدة مرتبة.1212شرح خوارزمية الفرز بالدمج Merge Sort Algorithmgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد جوهر هذه الخوارزمية يكمن في عملية دمج قائمتين سبق ترتيبهما مسبقًا لتشكيل قائمة نهائية مرتبة، وتُنفَّذ ذلك عبر دالة تُسمّى merge تستقبل مصفوفتين وتعيد ناتجًا مرتبًا.1313Implementation (Part 1) – Merge Sort - سلسلة DSAgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تتضمن آلية العمل خطوات أساسية تبدأ بتقسيم المصفوفة غير المرتبة إلى أجزاء أصغر، ثم يُعاد دمج هذه الأجزاء بعد ترتيبها.14142 - DS - Sorting Algorithms | PDFgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تقسيم المصفوفة الأصلية إلى نصفين أصغر لتقليل حجم المشكلة تدريجيًا.14142 - DS - Sorting Algorithms | PDFgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- معالجة كل نصف على حدة، حيث يُرتّب كل جزء بصورة مستقلة قبل دمجه.14142 - DS - Sorting Algorithms | PDFgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- دمج الجزأين المرتبين باستخدام دالة merge التي تستقبل مصفوفتين وتنتج قائمة مرتبة واحدة.1313Implementation (Part 1) – Merge Sort - سلسلة DSAgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
بهذا التسلسل، تُحقِّق خوارزمية الترتيب بالدمج ترتيبًا تصاعديًا للبيانات مع الحفاظ على كفاءة زمنية جيدة، ما يجعلها خيارًا شائعًا في التطبيقات التي تتطلب فرزًا موثوقًا وسريعًا.1212شرح خوارزمية الفرز بالدمج Merge Sort Algorithmgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
الترتيب السريع
تُعد خوارزمية الترتيب السريع (Quick Sort) واحدة من أسرع خوارزميات الفرز من الناحية العملية.1515خوارزمية الترتيب الفقاعي (Bubble Sort)google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد وتعتمد هذه الخوارزمية في أسلوب عملها على اختيار عنصر محوري (Pivot) من القائمة المراد تنظيمها.161620. Sorting Algorithms | Learning Pythongoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
وتتكون آلية تنفيذ الترتيب السريع من الخطوات التالية:
- تحديد عنصر محوري من ضمن عناصر القائمة.161620. Sorting Algorithms | Learning Pythongoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- إجراء خطوة التقسيم (Partitioning) لتجزئة القائمة إلى قسمين.1515خوارزمية الترتيب الفقاعي (Bubble Sort)google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد161620. Sorting Algorithms | Learning Pythongoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تطبيق الفرز العودي (Recursive Sorting) لإكمال عملية الترتيب.1515خوارزمية الترتيب الفقاعي (Bubble Sort)google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
مقارنة التعقيد
تُعَدُّ مقارنة تعقيد خوارزميات الترتيب من المواضيع الحيوية في معالجة البيانات، حيث تُظهر الدراسات أن ترتيب البيانات يُستَخدم بصورة متكررة في مختلف التطبيقات.1717دراسة كفاءة خوارزميات الترتيب بالتطبيق على ...google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد في هذا الإطار، ركّزت إحدى الدراسات على عدد من خوارزميات الترتيب المقارنة، مُستَندةً إلى مجموعة من الخوارزميات الشهيرة مثل الفقاعية (Bubble Sort)، والاختيارية (Selection Sort)، والإدراجية (Insertion Sort)، والدمجية (Merge Sort) ذات التنفيذ العودي، والسرعية (Quick Sort).1818Sorting (Bubble, Selection, Insertion, Merge, Quick, ...google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد كما شملت الدراسة تحليلًا وعرضًا مرئيًا لثمانية خوارزميات ترتيب مختلفة، تم اختبارها على أربع حالات ابتدائية مختلفة، ما أتاح فرصة لتقييم سلوك كل خوارزمية تحت ظروف متعددة.1919Sorting Algorithms Animationsgoogle.comاذهب إلى المرجع ↓يُفتح في تبويب جديد من خلال هذا التحليل، يُمكن للباحثين والمهندسين مقارنة الأداء النظري والعملي لهذه الخوارزميات، وتحديد الأنسب بحسب طبيعة البيانات ومتطلبات السرعة والموارد المتاحة.