برو ألجوس: C++
يركز هذا المشروع على تنفيذ الخوارزميات وهياكل البيانات في لغة C++، مع اتباع ممارسات هندسة البرمجيات الجيدة ، مثل:
- كتابة كود موثق جيدًا
- الالتزام بإرشادات الكود
- كتابة واجتياز اختبارات الوحدة
- مراجعة رمز بعضهم البعض
الأهداف
- تنفيذ الخوارزميات وهياكل البيانات
- تعلم أن تكون مطور برامج أفضل
- قم بتوجيه بعضكم البعض بشأن التحكم في الإصدار واختبار الوحدة والخوارزميات
كيفية المشاركة
هناك عدة طرق للمشاركة.
هل تريد المساهمة في المصادر المفتوحة والمشاركة في المشروع؟
- اقرأ إرشادات المساهمة
- شوكة الريبو
- قم بإنشاء مشكلة تصف ما تريد إضافته، أو قم بالمطالبة بمشكلة متاحة للاستيلاء عليها
- أنشئ فرعًا وأضف الرمز الخاص بك
- أرسل طلب سحب وأشر إلى المشكلة التي يتم إغلاقها
يمكنك العثور على مزيد من التفاصيل بشأن الخطوات المذكورة أعلاه في إرشادات المساهمة، لذا تأكد من الاطلاع عليها.
هل تريد فقط اقتراح خوارزمية جديدة أو الإبلاغ عن خطأ؟
أنشئ مشكلة جديدة وسنتعامل معها من هناك. ؟
محتويات
✅ = لديه اختبارات الوحدة
الخوارزميات
التراجع
البرمجة الديناميكية
- 0-1 حقيبة ✅
- تغيير العملة ✅
- أطول متتالية تنازلية ✅
- ضرب سلسلة المصفوفات ✅
- الحد الأقصى لمجموع المصفوفة الفرعية المتجاورة: خوارزمية Kadane ✅
- قطع القضبان ✅
- اختيار النشاط الموزون ✅
نظرية الأعداد
- معامل ذو الحدين ✅
- الخوارزميات الإقليدية
- القاسم المشترك الأكبر (GCD) ✅
- الخوارزمية الإقليدية الموسعة (معاملات بيزوت) ✅
- الأسي السريع ✅
- رقم فيبوناتشي N
- خوارزمية الزمن الخطي ✅
- خوارزمية الوقت اللوغاريتمية ✅
- التحقق من الرقم المثالي ✅
- الأعداد الأولية
- البدائية ✅
- غربال إراتوستينس (بسيط) ✅
البحث
- البحث الثنائي ✅
- البحث الخطي ✅
- البحث الثلاثي ✅
فرز
- نوع الفقاعة ✅
- فرز دلو ✅
- فرز المشط ✅
- فرز العد (مستقر) ✅
- فرز الكومة ✅
- فرز الإدراج ✅
- دمج الفرز ✅
- فرز سريع ✅
- نوع الجذر
- فرز الاختيار ✅
- فرز شل ✅
خيط
- أطول متتالية مشتركة ✅
- البحث (مطابقة الأنماط)
- تعديل مشكلة المسافة ✅
- ساحة النقل ✅
- التقليب
هياكل البيانات
قائمة مرتبطة
- قائمة مرتبطة منفردة ✅
- قائمة مرتبطة بشكل مضاعف ✅
طابور
تعيين
كومة
شجرة
- شجرة البحث الثنائية ✅
- شجرة الفينويك ✅
تجميع
لتجميع الملفات المصدر، قم بتشغيل make
من دليل C++
. سيؤدي القيام بذلك إلى إنشاء ثنائيات قابلة للتنفيذ في دليل bin
.
لتجميع كافة الاختبارات وتشغيلها، قم بتشغيل make test
. سيؤدي هذا إلى تجميع كافة الاختبارات (بنفس الطريقة الموضحة أعلاه) وتشغيلها وعرض النتائج.
من أجل إجراء اختبار معين ورؤية نتائجه، قم بتشغيله يدويًا من دليل bin
بعد استدعاء make
. على سبيل المثال، هذا الأمر (الذي يتم تنفيذه من bin
) سيؤدي فقط إلى تشغيل اختبارات الوحدة لخوارزمية N Queens:
لإزالة كافة الملفات التي تم إنشاؤها أثناء التجميع، قم بتشغيل make clean
. لا يلزمك القيام بذلك في كل مرة تقوم فيها بإجراء بعض التغييرات على ملف وتريد إعادة ترجمته. ما عليك سوى تشغيل make
وسيقوم بإعادة تجميع تلك الملفات التي تغيرت محتوياتها فقط.
لمعرفة ما يحدث في الخلفية أثناء التجميع والاختبار، راجع الملفات التالية:
- ملف تعريفي
- CMakeLists.txt
- اختبار البرنامج النصي
لمزيد من المعلومات حول make
، راجع دليل صنع GNU. لمزيد من المعلومات حول CMake
، راجع البرنامج التعليمي CMake.
المشرفون
تتم صيانة هذا المشروع بشكل نشط بواسطة @alxmjo، وبشكل غير نشط بواسطة @faheel.
رخصة
هذا المشروع مرخص بموجب شروط ترخيص MIT.