The Code Fix

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

مقدمة وتعقيد الخوارزميات (Big O)

لماذا هياكل البيانات والخوارزميات؟

  • مقابلات العمل: شركات التقنية الكبرى تركّز عليها.
  • كود فعّال: حلّ المشكلات بأقل وقت وذاكرة.
  • تفكير منطقي أقوى في البرمجة عمومًا.

هيكل البيانات: طريقة تنظيم البيانات. الخوارزمية: خطوات حلّ مشكلة.

تعقيد الوقت: Big O

طريقة لقياس كيف ينمو وقت تنفيذ الخوارزمية مع حجم المدخلات.

Big Oالاسممثال
O(1)ثابتالوصول لعنصر بفهرسه
O(log n)لوغاريتميالبحث الثنائي
O(n)خطّيالمرور على مصفوفة
O(n log n)شبه خطّيالترتيب الجيد
O(n²)تربيعيحلقتان متداخلتان

أمثلة

// O(1) — خطوة واحدة مهما كبر المدخل
function first(arr) {
  return arr[0];
}

// O(n) — يمرّ على كل عنصر
function sum(arr) {
  let total = 0;
  for (let x of arr) total += x;
  return total;
}

// O(n²) — حلقة داخل حلقة
function pairs(arr) {
  for (let i of arr)
    for (let j of arr)
      console.log(i, j);
}

القاعدة

كلما قلّ "أُسّ" النمو، كانت الخوارزمية أكفأ. نسعى دائمًا لأقل تعقيد ممكن.

🎯 التالي: المصفوفات والقوائم المترابطة.