لماذا هياكل البيانات والخوارزميات؟
- مقابلات العمل: شركات التقنية الكبرى تركّز عليها.
- كود فعّال: حلّ المشكلات بأقل وقت وذاكرة.
- تفكير منطقي أقوى في البرمجة عمومًا.
هيكل البيانات: طريقة تنظيم البيانات. الخوارزمية: خطوات حلّ مشكلة.
تعقيد الوقت: 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);
}
القاعدة
كلما قلّ "أُسّ" النمو، كانت الخوارزمية أكفأ. نسعى دائمًا لأقل تعقيد ممكن.
🎯 التالي: المصفوفات والقوائم المترابطة.