Sort_Algorithms
V1.1
برنامج لإظهار وقت التنفيذ ومتغير فرز الخوارزميات بلغة C هناك 48 خوارزميات فرز موزعة في 8 فئات مختلفة.
في إعدادات البرنامج ، هناك تعديلات جاذبية مذكورة في الجدول أدناه:
| إعدادات | تقصير |
|---|---|
| حالة الفرز | عشوائي |
| فاصل عشوائي | 32 |
| طول الصفيف | 10 |
| حفظ النتائج في ملف نصي | لا |
| عرض المصفوفات | نعم |
| عرض وقت التنفيذ | نعم |
ملاحظة: تحتاج إلى تثبيت برنامج التحويل البرمجي لجامعة GCC في جهازك لتنفيذ الإرشادات أدناه لتشغيل البرنامج.
افتح محطة وانتقل إلى دليل المشروع. تنفيذ make in Terminal السماح بتجميع البرنامج. الأوامر avaliable للتنفيذ باستخدام Make ( make ${command} ):
| يأمر | وصف |
|---|---|
| ينظف | مسح جميع الكائنات التي تم إنشاؤها |
| كر | تجميع وتشغيل |
| Rmproper | مسح جميع ملفات الكائنات |
| يجري | تنفيذ البرنامج الرئيسي |
في موجه الأوامر أو PowerShell وانتقل إلى دليل المشروع وتنفيذ execute.bat .





| فئة | نوع |
|---|---|
| الباطنية والمتعة والمتنوعة | نوع سيء بوغو بوغو فرز فرز بوغو فرز الفقاعة بوغو كوكتيل بوغو فرز تبادل bogo فرز أقل بوغو نوع الفطيرة نوع سخيف نوع النوم نوع بطيء السباغيتي فرز فرز Stooge |
| تبادل | نوع الفقاعة نوع الدائرة كوكتيل شاكر فرز مشط نوع سريع محور سريع نوع جنوم فرز غريب فرز الفقاعة الأمثل نوع شاكر كوكتيل محسّن نوع جنوم المحسّن نوع سريع فرز سريع ثلاثي الاتجاه نوع سريع مستقر |
| الهجينة | تيم فرز |
| الإدراج | نوع شجرة AVL نوع الإدراج الثنائي نوع الدورة نوع الإدراج نوع الصبر فرز قذيفة نوع الشجرة |
| دمج | فرز دمج من أسفل إلى أعلى دمج في مكان دمج الفرز |
| الشبكات والمتزامنة | فرز بيتووني نوع الشبكة الزوجية |
| عدم القبائل والتوزيع | نوع دلو عد النوع الجاذبية (حبة) الفرز نوع الحمام radix lsd sort |
| اختيار | نوع الاختيار المزدوج الحد الأقصى للكومة مين كومة الفرز نوع الاختيار |
| خوارزمية | أسوأ حالة | أفضل حالة | متوسط | تعقيد الفضاء | في مكان | مستقر | ملحوظات |
|---|---|---|---|---|---|---|---|
| نوع سيء | س (N³) | س (N³) | س (N³) | س (1) | ✔ | ||
| بوغو بوغو فرز | س (اللانهاية) | س (ن²) | س ((ن+1)!) | س (1) | ✔ | يمكن أن تكون أسوأ حالة غير محدودة بسبب التلاعب العشوائي | |
| فرز بوغو | س (اللانهاية) | على) | س ((ن+1)!) | س (1) | ✔ | يمكن أن تكون أسوأ حالة غير محدودة بسبب التلاعب العشوائي | |
| فرز الفقاعة بوغو | س (اللانهاية) | على) | س ((ن+1)!) | س (1) | ✔ | ✔ | يمكن أن تكون أسوأ حالة غير محدودة بسبب التلاعب العشوائي |
| كوكتيل بوغو فرز | س (اللانهاية) | على) | س ((ن+1)!) | س (1) | ✔ | يمكن أن تكون أسوأ حالة غير محدودة بسبب التلاعب العشوائي | |
| تبادل bogo فرز | س (اللانهاية) | على) | س ((ن+1)!) | س (1) | ✔ | يمكن أن تكون أسوأ حالة غير محدودة بسبب التلاعب العشوائي | |
| أقل بوغو | س (اللانهاية) | س (ن²) | س ((ن+1)!) | س (1) | ✔ | يمكن أن تكون أسوأ حالة غير محدودة بسبب التلاعب العشوائي | |
| نوع الفطيرة | س (ن²) | س (ن²) | س (ن²) | س (1) | ✔ | ||
| نوع سخيف | س (ن²) | س (ن²) | س (ن²) | س (1) | ✔ | ||
| نوع النوم | س (int_max) | o (الحد الأقصى (المدخلات) + ن) | o (الحد الأقصى (المدخلات) + ن) | على) | ✔ | استفد من مجدول وحدة المعالجة المركزية للفرز | |
| نوع بطيء | س (ن*ن!) | على) | س ((ن+1)!) | س (1) | ✔ | ||
| السباغيتي فرز | على) | على) | على) | على) | ✔ | ||
| فرز Stooge | ![]() | ![]() | ![]() | على) | |||
| نوع الفقاعة | س (ن²) | على) | س (ن²) | س (1) | ✔ | ✔ | |
| نوع الدائرة | o (n log n log n) | o (n log n) | o (n log n) | س (1) | ✔ | ||
| كوكتيل شاكر فرز | س (ن²) | س (ن²) | س (ن²) | س (1) | ✔ | ✔ | |
| مشط | س (ن²) | o (n log n) | ![]() | س (1) | ✔ | P هو عدد الزيادات | |
| نوع سريع محور سريع | س (ن²) | o (n log n) | o (n log n) | س (سجل ن) | ✔ | ||
| نوع جنوم | س (ن²) | على) | س (ن²) | س (1) | ✔ | ✔ | |
| فرز غريب | س (ن²) | على) | س (ن²) | س (1) | ✔ | ✔ | |
| فرز الفقاعة الأمثل | س (ن²) | على) | س (ن²) | س (1) | ✔ | ✔ | |
| نوع شاكر كوكتيل محسّن | س (ن²) | على) | س (ن²) | س (1) | ✔ | ✔ | |
| نوع جنوم المحسّن | س (ن²) | على) | س (ن²) | س (1) | ✔ | ✔ | |
| نوع سريع | س (ن²) | o (n log n) | o (n log n) | س (سجل ن) | ✔ | ||
| فرز سريع ثلاثي الاتجاه | س (ن²) | على) | o (n log n) | o (log n) أو o (n) | ✔ | ||
| نوع سريع مستقر | س (ن²) | o (n log n) | o (n log n) | على) | ✔ | ✔ | |
| تيم فرز | o (n log n) | على) | o (n log n) | على) | ✔ | ||
| نوع شجرة AVL | o (n log n) | على) | o (n log n) | على) | ✔ | في أسوأ حالات ، O (n²) عند استخدام شجرة البحث الثنائية و O (n log n) عند استخدام شجرة البحث الثنائية المتوازنة ذاتيا | |
| نوع الإدراج الثنائي | o (n log n) | على) | o (n log n) | س (1) | ✔ | ✔ | |
| نوع الدورة | س (ن²) | س (ن²) | س (ن²) | س (1) | ✔ | ||
| نوع الإدراج | س (ن²) | على) | س (ن²) | س (1) | ✔ | ✔ | |
| نوع الصبر | o (n log n) | على) | o (n log n) | على) | ✔ | ||
| فرز قذيفة | أو o (n log² n) | o (n log n) | o (n^1.25) إلى o (n²) | س (1) | ✔ | ||
| نوع الشجرة | س (ن²) | o (n log n) | o (n log n) | على) | ✔ | في أسوأ حالات ، O (n²) عند استخدام شجرة البحث الثنائية و O (n log n) عند استخدام شجرة البحث الثنائية المتوازنة ذاتيا | |
| فرز دمج من أسفل إلى أعلى | o (n log n) | o (n log n) | o (n log n) | على) | ✔ | ||
| دمج في مكان | س (ن²) | س (ن²) | س (ن²) | س (سجل ن) | ✔ | ✔ | |
| دمج الفرز | o (n log n) | o (n log n) | o (n log n) | على) | ✔ | ||
| فرز بيتووني | o (log² n) | o (log² n) | o (log² n) | o (n log² n) | ✔ | ||
| نوع الشبكة الزوجية | أو o (n log n) | o (n log n) | o (n log n) | ![]() | ✔ | أسوأ الحالات هي استخدام وقت متوازي ووقت غير موازنة | |
| نوع دلو | س (ن²) | o (n+k) | o (n+k) | o (n+k) | ✔ | K هو عدد الدلاء | |
| عد النوع | o (n+k) | o (n+k) | o (n+k) | o (n+k) | ✔ | K هو نطاق بيانات الإدخال | |
| الجاذبية (حبة) الفرز | س (ق) | س (1) أو ![]() | على) | س (ن²) | ✔ | S هو مجموع عناصر الصفيف ، O (1) لا يمكن تنفيذها في الممارسة العملية | |
| نوع الحمام | س (ن+ن) | س (ن+ن) | س (ن+ن) | س (ن+ن) | ✔ | N هو عدد العناصر و N هو نطاق بيانات الإدخال | |
| radix lsd sort | س (شمال غرب) | س (شمال غرب) | س (شمال غرب) | على) | ✔ | W هو عرض عنصر maxumum (بت) | |
| نوع الاختيار المزدوج | س (ن²) | س (ن²) | س (ن²) | س (1) | ✔ | مقارنات | |
| الحد الأقصى للكومة | o (n log n) | o (n log n) | o (n log n) | س (1) | ✔ | ||
| مين كومة الفرز | o (n log n) | o (n log n) | o (n log n) | س (1) | ✔ | ||
| نوع الاختيار | س (ن²) | س (ن²) | س (ن²) | س (1) | ✔ | مقارنات |