هياكل بيانات جافا وجمع الخوارزميات
يحتوي هذا المستودع على أمثلة رمز تعليمي لمختلف هياكل البيانات والخوارزميات التي تم تنفيذها في Java. إنه مصمم لمساعدة المتعلمين على فهم وتطبيق المفاهيم الأساسية في هياكل البيانات والخوارزميات. يتضمن كل ملف ومجلد تعليقات مفصلة لشرح الكود والمفاهيم.
محتويات
هياكل البيانات
هياكل البيانات الأساسية
- صفيف
- قائمة مرتبطة
- قائمة مرتبطة منفردة
- قائمة مرتبطة مضاعفة
- قائمة مرتبطة دائرية
- كومة
- طابور
- قائمة انتظار الأولوية
- جدول التجزئة
- تعيين
- رسم خريطة
الأشجار
- شجرة ثنائية
- شجرة البحث الثنائية (BST)
- شجرة AVL
- شجرة أسود أحمر
- شجرة القطعة
- شجرة فينويك (شجرة فهرسة ثنائية)
- شجرة الثلاثية
- شجرة n-ary
الرسوم البيانية
- الرسم البياني الموجه
- رسم بياني غير موجه
- رسم بياني مرجح
الخوارزميات
فرز الخوارزميات
- نوع الفقاعة
- نوع الاختيار
- نوع الإدراج
- دمج الفرز
- نوع سريع
- نوع الكومة
- عد النوع
- فرز راديكس
- نوع دلو
- نوع البنغو
- فرز قذيفة
- مشط
- فرز الكوكتيل
البحث الخوارزميات
- البحث الخطي
- البحث الثنائي
- بحث العمق الأول (DFS)
- اتساع أول بحث (BFS)
- البحث القفز
- بحث فيبوناتشي
خوارزميات الرسم البياني
- خوارزمية ديجكسترا
- خوارزمية Bellman-Ford
- خوارزمية فلويد وارشال
- خوارزمية كروسكال
- خوارزمية بريم
- النوع الطوبولوجي
- خوارزمية البحث*
- خوارزمية هوفمان
البرمجة الديناميكية
- سلسلة فيبوناتشي
- أطول وقت شائع (LCS)
- أطول بعد زيادة بعد (LIS)
- مضاعفة سلسلة المصفوفة
خوارزميات رياضيات منفصلة وخوارزميات التوافقي
- التباديل والمجموعات
- مشكلة مجموعة فرعية
- مشكلة بائع السفر (TSP)
- تلوين الرسم البياني
كيفية استخدام
يتم تسمية كل ملف Java ومجلد للإشارة إلى بنية البيانات أو الخوارزمية التي يغطيها. على سبيل المثال ، داخل مجلد Algorithms ، يحتوي مجلد 1-sorting_algorithms على 1-bubble_sort ، والذي يتعامل مع خوارزمية فرز الفقاعة في Java.
المساهمة
إذا كنت ترغب في المساهمة في هذا المستودع ، فلا تتردد في تقديم طلب سحب. يمكنك إضافة أمثلة جديدة ، أو تحسين التعليمات البرمجية الحالية ، أو إصلاح أي مشكلات. مساهمات جميع المستويات موضع ترحيب!
رخصة
تم ترخيص هذا المستودع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. انظر ملف الترخيص لمزيد من المعلومات.
ملاحظة: مخصص لهذا المستودع لأغراض تعليمية للمساعدة في تعلم وفهم هياكل البيانات والخوارزميات في Java.
تذكر أن تقوم بدور المستودع إذا وجدت أنه مفيد!