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