
The Georgia Institute of Technology
تعلّم هياكل البيانات الخطية في جافا: المصفوفات والقوائم المرتبطة والمكدسات والطوابير، مع تحليل التعقيد الزمني وتطبيقات عملية.
تبدأ دورة «هياكل البيانات والخوارزميات» بمراجعة مجموعة من التقنيات المهمة في Java وبعض الدقائق البرمجية التي تساعدك على كتابة كود أوضح وأكثر متانة. تتطلب الدورة معرفة مسبقة بأساسيات لغة Java ومبادئ البرمجة كائنية التوجه، لكنها لا تفترض خبرة سابقة بهياكل البيانات أو الخوارزميات. تقدّم الدورة مفهوم التعقيد الزمني (Time Complexity) منذ البداية، وتربطه باستمرار بكل هياكل البيانات والخوارزميات التي ستتعلمها. ستعمل على مبادئ تخزين البيانات داخل المصفوفات (Arrays) وداخل عُقد القوائم المرتبطة (LinkedList nodes)، مع فهم العمليات الأساسية وأثرها على الأداء من خلال شروحات وتصورات تساعدك على استيعاب ما يحدث داخل البنية. ستقوم ببرمجة هياكل بيانات منخفضة المستوى بنفسك، بما في ذلك القوائم المرتبطة الأحادية (Singly LinkedLists) والدائرية (Circular LinkedLists) والمزدوجة (Doubly LinkedLists)، مع استكشاف حالات الحواف (Edge Cases) ومقارنة الكفاءة بين البدائل المختلفة. كما ستتعلم كيف تُستخدم المصفوفات والقوائم المرتبطة كأساس لبناء أنواع البيانات المجرّدة (Abstract Data Types - ADTs) مثل المكدسات (Stacks) والطوابير (Queues) والطوابير مزدوجة النهاية (Deques). وتؤكد الدورة على توظيف قوة الاستدعاء الذاتي (Recursion) للتنقل داخل هذه الهياكل وتنفيذ عملياتها، مع التركيز على كيفية تغيّر الأداء مع ازدياد حجم البيانات، وكيفية اختيار البنية المناسبة للمشكلة المناسبة بناءً على التعقيد الزمني وسلوك العمليات المختلفة.
Mary Hudachek-Buswell
Associate Chair, School of Computing Instruction