الصفوف:
- تُعرَّف الصفوف بأنَّها مجموعة مُتسلسلة مُرتَّبة من القِيَم، وهي تمتاز عن القوائم بثباتها وعدم قابليتها للتعديل والتغيير.
- وهذا يعني إمكانية الوصول إلى العناصر داخل الصفوف، ولكن من دون تغيير العناصر الموجودة أو إضافة عناصر أُخرى.
- عند إنشاء الصفوف، توضع العناصر المُكوِّنة لها داخل أقواس، ويُفصل بينها بفواصل.
المجموعات:
- تُعرَّف المجموعات بأنَّها هياكل بيانات في لغة البرمجة بايثون تحتوي على مجموعة من الكائنات.
مزايا المجموعات:
- أ. عدم الترتيب: لا يُشترط ترتيب العناصر في المجموعات؛ ما يُفسِّر اختلاف ترتيب العناصر أثناء عملية الطباعة.
- ب. الثبات وعدم القابلية للتكرار: لا يُسمح بوجود عناصر مُكرَّرة في المجموعات؛ إذ تُحذَف التكرارات تلقائيًا عند إضافة العناصر.
- ج. الثبات وعدم القابلية للتعديل (Immutable): يُمكن إضافة عناصر إلى أيَّة مجموعة أو حذف عناصر منها، ولكن يتعذَّر تعديل العناصر الفردية داخل المجموعة.
- د. دعم العمليات الرياضية: تُعدُّ المجموعات خيارًا مثاليًا لدعم العمليات الرياضية والحسابية، مثل: التقاطع، والاتحاد، والفَرق بين المجموعات.
- هـ. سرعة الأداء: تُعدُّ المجموعات أسرع من القوائم في ما يخصُّ عمليات البحث والمقارنة؛ نظرًا إلى عدم وجود ترتيب لعناصرها.
نوع البيانات المُجرَّدة:
- تعرَّفتُ آنفًا كيف تُخزَّن البيانات في بعض التراكيب بأشكال مختلفة تبعًا لنوع هذه البيانات، والغرض من استخدامها.
- ولكن تعتمد طريقة تخزين البيانات على مجموعة من العوامل، أبرزها: الحاجة إلى تعديل البيانات، وإمكانية تكرار العناصر، وطبيعة العمليات التي يُراد تنفيذها.
- فكل نوع من تراكيب البيانات (مثل: القوائم، والصفوف، والقواميس، والمجموعات) يمتاز بخصائص مُعيَّنة تُناسب مُتطلبات مُحدَّدة في البرمجة.
- يُعرَّف نوع البيانات المُجرَّدة (ADT) بأنَّه نموذج يُركِّز على السلوكات، أو العمليات (مثل: القراءة، والتعديل)، أو العمليات الحسابية الخاصة بالبيانات، بدلًا من التركيز على كيفية تخزين البيانات.
- من الأمثلة على نوع البيانات المُجرَّدة (ADT): القوائم المُترابطة (Linked List)، والمكدس (Stack).
القوائم المُترابطة:
- تُخزَّن البيانات في القوائم المُترابطة على هيئة عُقد، وتحتوي كل عُقدة (Node) من هذه العُقد على مرجعية العُقدة التي تليها كما هو مُبيَّن في الشكل (٣-١).
- تُستخدَم القوائم المُترابطة في التطبيقات التي تتغيَّر حجوم بياناتها، وفي عمليات التخزين المُؤقَّت.
- كذلك تُستخدَم هذه القوائم في تتبُّع العمليات الخاصة بأنظمة التشغيل، وفي تتبُّع الصفحات المُحرَّرة، إضافةً إلى الرسوم التي تُستخدم في تمثيل الأشكال الهندسية، مثل: النقاط، والخطوط، وحدود الكائنات ذات الأبعاد الثنائية.
المكدس:
- نوع من أنواع البيانات المُجرَّدة، يتعامل مع البيانات بطريقة (Last-In/First-Out: LIFO)؛ أي إنَّ آخر عنصر يدخل في المكدس هو أوَّل عنصر يخرج منه.
- وهذا يعني أنَّ لهذه القائمة بوَّابة واحدة فقط تُستخدم مُدخلًا ومُخرَجًا كما هو مُبيَّن في الشكل (٣-٢).
المواطنة الرقمية:
- محو الأمية الرقمية (Digital Literacy): أتعلم كيف أختار هيكل البيانات المناسب (مثل: القوائم للقِيَم المُتكرِّرة، والقواميس للعلاقات بين المفاتيح والقِيَم)، وأعمل على توعية المُستخدمين بأهمية تنظيم البيانات جيدًا لتحسين مستوى الكفاءة والأداء.