سيساعدك هذا المستودع على إتقان الخوارزميات وهياكل البيانات التي يجب أن يعرفها المبرمجون بشكل منهجي.
يحتوي هذا المستودع بشكل رئيسي على فرعين :
الفرع الرئيسي : أحدث فرع جديد، وهو أيضًا الفرع الرئيسي للصيانة اليومية في المستقبل، يحتوي على دروس حول الخوارزميات وهياكل البيانات.
فرع المجموعات : الفرع الرئيسي السابق، الذي ينظم المعلومات حول الخوارزميات وهياكل البيانات، يستخدم الآن كفرع مساعد: قم بالزيارة هنا
اكتمل جزء الخوارزمية بشكل أساسي، ولا يزال هناك العديد من الأجزاء غير المكتملة من بنية البيانات ، وسنقوم بتسريع عملية التحسين عندما نكون متفرغين.
جدول المحتويات:
- خوارزمية
- بنية البيانات
- أسئلة الممارسة
خوارزمية
- 1. تحليل التعقيد
- 2. خوارزمية عالية الدقة
- 3. خوارزمية الفرز
- 4. الخوارزمية العودية
- 5. الخوارزمية العودية
- 6. خوارزمية فرق تسد
- 7. الخوارزمية الجشعة
- 8. خوارزمية البحث ذات العرض الأول
- 9. خوارزمية البحث بالعمق الأول
- 10. خوارزمية التراجع
- 11. البرمجة الديناميكية
- 12. خوارزمية السلسلة
بنية البيانات
- 1. كومة
- 2. قائمة الانتظار
- 3. شجرة
- 4. كومة
- 5. خوارزمية نظرية الرسم البياني
- 6. البحث المشترك
- 7. الحد الأدنى من الشجرة الممتدة
- 8. الفرز الطوبولوجي والمسار الحرج
- 9. شجرة الجزء الخطي
- 10. صفيف الشجرة
أسئلة الممارسة
بعد إتقان الخوارزميات وهياكل البيانات المهمة، ستحتاج إلى ممارستها وتوحيدها
اختيار الموقع؟
يوصى بـ LeetCode ، قم بالزيارة هنا
ما هي الأسئلة التي يجب أن أدرسها؟
إذا لم يكن لديك وقت كاف : إليك أهم توصيات LeetCode :
على سبيل المثال: Leetcode Hot 100 وLeetCode تم تحديد أهم أسئلة المقابلة
إذا كان لديك ما يكفي من الوقت : يمكنك التدرب بشكل منهجي وفقًا للفئات التالية:
- الموضوع الأول: المصفوفة (
Chapter1_Array
) - الموضوع الثاني: القائمة المرتبطة (
Chapter2_list
) - الموضوع الثالث: السلسلة (
Chapter3_String
) - الموضوع الرابع: المكدس (
Chapter4_Stack
) - الموضوع الخامس: الشجرة (
Chapter5_Tree
) - الموضوع السادس: الفرز (
Chapter6_Sort
) - الموضوع السابع: البحث (
Chapter7_Search
) - الموضوع 8: الحل العنيف (
Chapter8_Violence
) - الموضوع 9: BFS (
Chapter9_BFS
) - الموضوع 10: DFS (
Chapter10_DFS
) - الموضوع 11: فرق تسد (
Chapter11_Paritition
) - الموضوع 12: الجشع (
Chapter12_Greedy
) - الموضوع الثالث عشر: البرمجة الديناميكية (
Chapter13_DP
) - الموضوع 14: الرسم البياني (
Chapter14_Graph
) - موضوع 15: نوع غير محدد (
Chapter15_Unspecific
)
استراتيجيات الممارسة
- الخطوة الأولى : فكر أولاً ، إذا لم تكن لديك أي فكرة، يمكنك إلقاء نظرة على حلول المشكلات ودمجها مع حلول مشكلات الآخرين. لخص ما إذا كان لديك مشاكل في تفكيرك، أو ما إذا كان لديك مشاكل في الخوارزمية وبنية البيانات. أتقن نوع السؤال وطريقة التفكير والحل الأمثل.
- المرة الثانية : تذكر الحل الأمثل ، وحاول كتابته مباشرة ، ومقارنته بالحلول التي كتبتها من قبل، وتلخيص المسائل والطرق.
- المرة الثالثة : تحسين سرعة الإجابة على الأسئلة وحل مسائل متعددة لسؤال واحد بعد إخراج السؤال يمكنك معرفة محور الامتحان وطريقة حل المشكلة وكتابة الإجابة في وقت قصير والتفكير. من حلول متعددة.