The Code Fix

🧮 شرح هياكل البيانات والخوارزميات

المصفوفات والقوائم المترابطة

المصفوفة (Array)

مجموعة عناصر متتالية في الذاكرة، لكل عنصر فهرس.

const arr = [10, 20, 30];
arr[0];        // 10  → O(1) وصول سريع
arr.push(40);  // إضافة في النهاية
العمليةالتعقيد
الوصول بالفهرسO(1)
البحثO(n)
الإضافة/الحذف من البدايةO(n)

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

سلسلة عُقَد، كل عقدة تحوي قيمة ومؤشّرًا للعقدة التالية.

[10|•] → [20|•] → [30|null]
class Node {
  constructor(value) {
    this.value = value;
    this.next = null;
  }
}

const head = new Node(10);
head.next = new Node(20);
العمليةالتعقيد
الإضافة/الحذف من البدايةO(1)
الوصول بالفهرسO(n)

أيهما تختار؟

تحتاج...استخدم
وصولًا سريعًا بالفهرسArray
إضافة/حذفًا متكرّرًا من البدايةLinked List

💡 لا يوجد هيكل "أفضل" مطلقًا — كل واحد يتفوّق في حالات معيّنة.

🎯 التالي: المكدّس والطابور (Stack & Queue).