تركيب البيانات | Data Structures

  • طلبة تخصص حاسب وهندسة ومعلوماتيه
  • أساتذة مهتمين بالتفكير الحسابي في تخصصاتهم
  • كل من استكمل سلسلة التفكير الحسابي وسلسلة أساسيات في الحوسبة

إذا كانت الخوارزميات هي روح الكمبيوتر، فان تركيب البيانات هي قلب الخوارزميات. لهذا السبب لا يتم فصل الاثنتين عن بعضها عند التفكير في حل المسائل باستخدام الكمبيوتر.
تهدف هذه السلسلة الى تزويد المتعلم بمفاهيم أساسية في تصميم البيانات من حيث تخزينها في ذاكرة الكمبيوتر اثناء تنفيذ البرامج. وفيها شرح دقيق وشامل لتركيب البيانات (Data Structure) وعلاقتها مع الخوارزميات (Algorithms) وأيضا علاقتها بذاكرة الكومبيوتر الرئيسية (RAM) أثناء تنفيذ البرامج. وتستعرض السلسة جميع أنواع تركيب البيانات والعمليات التي تتم عليه مثل الوصول (Access) والإضافة (Insertion) والتحديث (Update) والحذف (Deletion) باعتبار تركيب البيانات مخزن البيانات لتسهيل وتسريع الوصول اليها. وتم شرح مفهوم انواع البيانات الأولية (Primitive Data) مثل العدد الصحيح (integer) والحقيقي (float) و الاحرف (character) وغيرها التي تتشكل من وحدات التخزين الأساسية (Bytes). وتم شرح تركيب البيانات الخطية (Linear) الأساسية مثل القوائم ثابتة الحجم (Static) كالمصفوفات (Arrays) والقوائم الديناميكية مثل القوائم المترابطة (Linked Lists) كأساس لبناء تركيب البيانات الأخرى لان هذين التركيبين هما طرق تعيين وحدات الذاكرة الأساسية من خلال تعريفها لأعداد مختلفة من البيانات الأولية كل حسب نوعها ويتم بها تمثيل تركيب البيانات الأخرى الخطية مثل قائمة الانتظار (الطابور) Queue، والمكدس (Stack) وجدول التجزئة (Hash Table)، والغير خطية مثل تركيب الرسم (Graph) والشجر (Tree). لقد قمنا بشرح مفهوم كل تركيب بيانات باستخدام الرسوم والتمهل في تقديم امثلة. ولكل تركيب قمنا بتطوير خوارزمياته وحساب فاعليته وتنفيذه بلغات وتم توفير شرح لكل البرامج كما توفيرها على المترجم مباشرة للتدريب عليها.
ومجمل هذه المواضيع جزء اصيل من مساقات تخصصات علم وهندسة الحاسب وتكنولوجيا المعلومات وتشكل في مجموعها محتوى مساقين فصليين في تركيب البيانات. وقد تم اضاقة شرح موسع للبرمجة العودية Recursive Programming لأهميتها في خوارزميات تركيب البيانات. ويستطيع المتعلم التجول في سلسلة اساسيات في الحوسبة وسلسلة تصميم الخوارزميات للتزود بخوارزميات متعدد على تطبيقات مختلفة تستخدم مختلف تراكيب البيانات.

محتوى السلسلة التعليمية

  1. مدخل الى البيانات والذاكرة
  2. تخصيص الذاكرة
  3. التجريد وتركيب البيانات
  4. التراكيب الخطية الأساسية
  5. تراكيب خطية غير أساسية وتراكيب غير خطية
  6. التعقد الحسابي
  1. مقدمة
  2. تعيين الذاكرة
  3. تصميم العودية 
  4. تنفيذ العودية في الذاكرة
  5. شجرة تنفيذ العودية
  6. نموذج سلسلة
  7. نموذج البحث الثنائي
  8. نموذج شجر البحث الثنائي
  9. دوال كفاءة العودية
  1. مصفوفات ذات بعد واحد
  2. مصفوفات ذات بعدين
  3. القوائم المترابطة
  1. الطابور
  2. المكدس
  3.  القاموس