العودة إلى الدورة

الدرس الحادي عشر: المصفوفات (Arrays) والقوائم المرتبطة (Linked Lists) (مقارنة)

الخوارزميات: من الصفر إلى الاحتراف (دليل المبتدئين)

11. المصفوفات (Arrays) والقوائم المرتبطة (Linked Lists) (مقارنة)

هذه هي هياكل البيانات الأساسية التي تعمل عليها الخوارزميات.

المصفوفات (Arrays) (ثابتة أو ديناميكية)

  • المفهوم: مجموعة من العناصر المخزنة في مواقع ذاكرة متجاورة (متلاصقة).
  • الإيجابيات: عمليات بحث/وصول سريعة (O(1)) لأن الكمبيوتر يعرف بالضبط مكان العنصر بناءً على عنوان البداية والفهرس.
  • السلبيات: إضافة أو حذف العناصر في المنتصف بطيء (O(N)) لأنه يجب إزاحة جميع العناصر اللاحقة.

القوائم المرتبطة (Linked Lists)

  • المفهوم: مجموعة من العُقد (Nodes) حيث تحتوي كل عُقدة على البيانات ومرجع (مؤشر) للعُقدة التالية.
  • الإيجابيات: عمليات إدراج وحذف سريعة (O(1)) بمجرد حصولك على مؤشر للعُقدة السابقة، حيث تقوم فقط بتحديث مؤشر.
  • السلبيات: عمليات بحث/وصول بطيئة (O(N)) لأنه يجب أن تبدأ من البداية وتجتاز القائمة بالتتابع للعثور على العنصر رقم N.

يعد اختيار الهيكل الصحيح هو الخطوة الأولى في تصميم خوارزمية فعالة.