هياكل البيانات: القوائم المترابطة Linked Lists
القائمة المترابطة هي بنية بيانات خطية تتكون من عقد (Nodes) متصلة ببعضها عبر روابط (مؤشرات). كل عقدة تحتوي على بيانات ومؤشر للعقدة التالية. تختلف عن المصفوفات في أن عناصرها لا تخزن في مواقع متجاورة في الذاكرة.
أنواع القوائم المترابطة
- قائمة مترابطة بسيطة: كل عقدة تشير للعقدة التالية فقط، وتنتهي بمؤشر يشير إلى None.
- قائمة مترابطة مزدوجة: كل عقدة تشير للعقدة التالية والسابقة معاً.
- قائمة دائرية: العقدة الأخيرة تشير للعقدة الأولى.
مقارنة مع المصفوفات
المصفوفات تسمح وصولاً عشوائياً سريعاً (O(1)) لكن إدراج وحذف العناصر بطيء (O(n)). القوائم المترابطة تسمح إدراجاً وحذفاً سريعاً (O(1)) لكن الوصول العشوائي بطيء (O(n)). اختر حسب احتياجاتك.
مثال: تعريف عقدة في بايثون
class Node: def __init__(self, data): self.data = data; self.next = None. class LinkedList: def __init__(self): self.head = None. def append(self, data): new_node = Node(data); if not self.head: self.head = new_node; else: current = self.head; while current.next: current = current.next; current.next = new_node.
تمارين
- أضف دالة للقائمة المترابطة لحساب عدد العقد.
- أضف دالة للبحث عن قيمة في القائمة المترابطة.
- قارن بين القائمة المترابطة والمصفوفة من حيث الأداء في عمليات الإدراج والحذف والبحث.
خلاصة
القوائم المترابطة بنية بيانات مهمة لفهمها، تستخدم في تطبيقات مثل أنظمة الملفات والمتصفحات (زر الرجوع). فهم هياكل البيانات يساعد في اختيار الأنسب لحل المشكلات بكفاءة.
📍 دروس مشابهة
- الحضارة الفينيقية في شمال إفريقيا: النشأة والإنجازات الحضارية والأثر — التاريخ و
- الفلسفة — مشكلة الهوية: مفهومها ومكوناتها — 1 ثانوي (شعب علمية) — بكالوريا — الم
- الفلسفة — مشكلة السعادة: مفهومها ومذاهبها (اللذة والفضيلة والمعرفة) — الأولى ث
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.