
The Georgia Institute of Technology
تعلّم هياكل بيانات غير خطية: الأشجار الثنائية وBST والهيبس، وطبّق عملياتها وخوارزمياتها، واستكشف HashMaps وSkipLists بكفاءة.
تتجاوز هذه الدورة في هياكل البيانات والخوارزميات ما تم تناوله من هياكل خطية في CS1332xI لتنتقل إلى الهياكل غير الخطية والهرمية في CS1332xII. تبدأ الدورة بمراجعة قصيرة للغة Java تركز على الموضوعات الضرورية لفهم هياكل البيانات الجديدة التي ستتم دراستها. تتطلب الدورة معرفة مسبقة بـ Java، وبمفاهيم البرمجة كائنية التوجه، وبالهياكل الخطية الأساسية. كما يتم دمج مفهوم التعقيد الزمني (Time Complexity) عبر جميع الموضوعات، بحيث تتعلم تقييم كفاءة العمليات والخوارزميات المرتبطة بكل بنية. ستستكشف بنية الأشجار بوصفها بنية بيانات هرمية ذات خصائص مهمة مثل الشكل (Shape) والترتيب (Order)، وهي خصائص تُستخدم لتصنيف الأشجار إلى مجموعات مختلفة وتحديد سلوكها ووظيفتها. تبدأ الدورة بشرح الأشجار الثنائية، ثم تنتقل إلى مجموعتين فرعيتين أساسيتين: أشجار البحث الثنائية (BSTs) والهيبس الثنائية (Binary Heaps). ستتعلم عمليات الأشجار وخوارزمياتها، وتفحص الحالات الحدّية (Edge Cases) وتأثيرها على الأداء. كما ستتعرف على هياكل بيانات تعتمد على أزواج المفتاح-القيمة لتخزين البيانات عبر HashMaps، وتستكشف هياكل احتمالية مثل SkipLists. يتضمن المحتوى جانباً تطبيقياً يركز على التصميم والتنفيذ البرمجي لهذه الهياكل باستخدام Java، مع توظيف الاستدعاء الذاتي (Recursion) في واجهات وأنواع البيانات المجردة للأشجار (Tree ADTs).
Mary Hudachek-Buswell
Associate Chair, School of Computing Instruction