تخطَّ إلى المحتوى

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

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

الدرس 1 من 39· ⏱ 2 دقائق قراءة· 🗓 آخر تحديث: ١ يوليو ٢٠٢٦

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

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

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

أشهر هياكل البيانات

  • المصفوفة (Array): عناصر مرتّبة بفهارس.
  • القائمة المترابطة (Linked List): عُقد متّصلة ببعضها.
  • المكدّس والطابور (Stack & Queue): ترتيب دخول/خروج محدّد.
  • الشجرة والرسم (Tree & Graph): علاقات هرمية أو شبكية.

سنتناول كلًّا منها بالتفصيل مع أمثلة عملية لاحقًا.

تعقيد الوقت: 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);
}

القاعدة

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

أسئلة شائعة

هل أحتاج رياضيات قوية لتعلّم الخوارزميات؟ أساسيات المنطق تكفي للبداية؛ يتطوّر الجانب الرياضي تدريجيًا مع الممارسة.

لماذا يسألون عنها في المقابلات؟ لأنها تقيس قدرتك على التفكير المنطقي وحلّ المشكلات بكفاءة، لا مجرّد حفظ الصياغة.

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

شرح مقدمة وتعقيد الخوارزميات (Big O) — هياكل البيانات والخوارزميات بالعربي
مقدمة وتعقيد الخوارزميات (Big O)هياكل البيانات والخوارزميات بالعربي · The Code Fix

📚 لمزيد من التعمّق في هياكل البيانات والخوارزميات، راجِع هياكل البيانات على ويكيبيديا.

هل كان هذا الدرس مفيدًا؟