هياكل البيانات والخوارزميات، بشكل مرئي

افهم الخوارزمية.
لا الإجابة فقط.

تتبّع الكود الحقيقي خطوة بخطوة، وتعلّم الأنماط وراء المسائل التي ستواجهها، ودَع المراجعة المتباعدة تثبّتها في ذاكرتك.

جرّبها: تقنية المؤشّرين

افتح الدرس كاملاً →
الخطوة 1 من 11
1function twoSum(nums, target) {2  let lo = 0, hi = nums.length - 1;3  while (lo < hi) {4    const sum = nums[lo] + nums[hi];5    if (sum === target) return [lo, hi];6    if (sum < target) lo++;7    else hi--;8  }9  return null;10}
target
= 10
  1. 1lo
  2. 3
  3. 4
  4. 6
  5. 8
  6. 11hi

المصفوفة مرتّبة. يبدأ lo من الطرف الأيسر، ويبدأ hi من الطرف الأيمن.

مصمَّم وفق طريقة عمل الذاكرة فعلاً.

01 / تصوّر

تتبّع كل سطر

شاهد المتغيّرات تتغيّر أثناء تشغيل الكود، للأمام وللخلف، خطوة بخطوة.

02 / تعرّف

اكتشف النمط أولاً

تدريبات تعلّمك تسمية النمط قبل أن تكتب سطراً واحداً.

03 / رسّخ

مراجعة يومية في 5 دقائق

تكرار متباعد مدمج، بحدّ أقصى كي لا تتراكم المراجعات.

04 / تقدّم

مسار واحد واضح

من Big-O إلى البرمجة الديناميكية بالترتيب. تابِع الأنماط التي أتقنتها، لا أيام المواظبة.

المسار

9 وحدات، تبني كل واحدة منها على ما قبلها.

  1. 01تعقيد الخوارزميات (Big-O)مجاني
  2. 02المصفوفات وجداول التجزئةمجاني
  3. 03أساسيات الترتيبمجاني
  4. 04تقنية المؤشّرين والنافذة المنزلقةمجاني
  5. 05المكدّسات والطوابير والقوائم المترابطةمجاني
  6. 06العَوْديةاحترافي
  7. 07البحث الثنائياحترافي
  8. 08الأشجار: البحث بالعرض والعمقاحترافي
  9. 09البرمجة الديناميكيةاحترافي

دروس جديدة تُضاف باستمرار. الوحدات المعلَّمة بـ«قريباً» قيد الإعداد.

الأسعار

ابدأ مجاناً، وانتقل إلى الخطة الاحترافية عندما تتضح لك الصورة.

مجاني$0
  • جميع الدروس المجانية، خطوة بخطوة
  • الكود بكل لغات البرمجة المدعومة
  • المراجعة اليومية
ابدأ مجاناً
احترافيقريباً
  • كل ما في الخطة المجانية
  • جميع الدروس مفتوحة
  • تدريبات أنماط غير محدودة
  • تقارير الإتقان
قريباً