هياكل بيانات جيدة وجيدة
Miscellanea / / December 05, 2023
هذه الدورة - خطوة أخرى مهمة في تطورك كمتخصص مختص في تكنولوجيا المعلومات في مجال البرمجة. بمجرد أن تتعلم القدرات الأساسية للغة، ومكوناتها الموجهة للكائنات، فإن الخطوة المنطقية التالية هي دراسة هياكل البيانات النموذجية والمستخدمة بشكل متكرر، ومعرفة نقاط القوة والضعف فيها لاستخدامها بشكل فعال المشاريع.
يستخدم أي برنامج أكثر أو أقل موثوقية بنية بيانات بسيطة واحدة على الأقل، على سبيل المثال، المصفوفات. وفي المشاريع الأكثر تعقيدًا، هناك دائمًا مشاريع أكثر تعقيدًا مثل القوائم المرتبطة، وجداول التجزئة، والمجموعات، والمصفوفات الترابطية، وما إلى ذلك. تحتاج إلى معرفة كل هذا حتى يتم تشغيل برامجك في أسرع وقت ممكن وفي نفس الوقت تستخدم ذاكرة الجهاز بشكل مقتصد. علاوة على ذلك، يتم سؤالهم دائمًا تقريبًا أثناء مقابلات العمل لمنصب مبرمج أسئلة حول هياكل البيانات وطرق تقييم مدى تعقيد الخوارزميات، عادةً من منظور "كبير". (يا كبيرة). يتم تضمين كل هذه المواضيع الهامة في هذه الدورة. سيسمح لك إكمالها ليس فقط بكتابة الخوارزميات بثقة أكبر، ولكن أيضًا أن تكون أكثر نجاحًا في المقابلات الخاصة بالتوظيف في المستقبل.
تعلم تقدير التعقيد الحسابي للخوارزميات
1. مقدمة إلى Big O
2. Big O مع التعقيد اللوغاريتمي والمضروب
أبسط هياكل البيانات
1. مجموعة ثابتة
2. مجموعة ثابتة في C++
3. مجموعة ديناميكية
4. المصفوفة الديناميكية في بايثون
5. المصفوفة الديناميكية في C++
القوائم المرتبطة
1. قائمة مرتبطة منفردة
2. قائمة مرتبطة منفردة في C++
3. قائمة مرتبطة بشكل مضاعف
4. قائمة مرتبطة بشكل مضاعف في C++ من البداية
5. فئة القائمة لقائمة مرتبطة بشكل مزدوج لمكتبة C++ STL
طوابير ومكدس
1. قوائم الانتظار FIFO و LIFO
2. قائمة الانتظار Collections.deque في بايثون
3. فئة deque لمكتبة C++ STL
4. كومة
5. تنفيذ المكدس في Python وC++
الأشجار والمجموعات
1. الأشجار الثنائية
2. طرق اجتياز وإزالة قمم الشجرة الثنائية
3. الشجرة الثنائية في بايثون
4. مجموعات. تعيين العمليات
5. المجموعات والمجموعات المتعددة في C++
6. حاوية خريطة مكتبة STL في C++
7. شجرة البادئة (محملة، تري). المصفوفات الترابطية
جداول التجزئة
1. جداول التجزئة
2. التجزئة العالمية
3. طريقة العنونة المفتوحة التجزئة المزدوجة
4. جداول التجزئة في بايثون وC++