البرمجة

تعلم Algorithms الأساسية

12 ديسمبر 202512 دقائق قراءة
تعلم Algorithms الأساسية

أساسيات الخوارزميات وهياكل البيانات للمقابلات والبرمجة.

لماذا الخوارزميات؟

الخوارزميات تحسن تفكيرك البرمجي. ضرورية للمقابلات وتحسين أداء الكود.

Big O Notation

O(1)      - ثابت      - الوصول لعنصر في array
O(log n)  - لوغاريتمي - Binary Search
O(n)      - خطي       - البحث في قائمة
O(n log n)- n log n   - Merge Sort
O(n²)     - تربيعي    - Bubble Sort

Binary Search

function binarySearch(arr, target) {
  let left = 0;
  let right = arr.length - 1;
  
  while (left <= right) {
    const mid = Math.floor((left + right) / 2);
    if (arr[mid] === target) return mid;
    if (arr[mid] < target) left = mid + 1;
    else right = mid - 1;
  }
  return -1;
}

Two Pointers

// هل يوجد زوج يساوي المجموع؟
function twoSum(arr, target) {
  let left = 0;
  let right = arr.length - 1;
  
  while (left < right) {
    const sum = arr[left] + arr[right];
    if (sum === target) return [left, right];
    if (sum < target) left++;
    else right--;
  }
  return null;
}

Hash Map للتكرار

function findDuplicate(arr) {
  const seen = new Set();
  for (const num of arr) {
    if (seen.has(num)) return num;
    seen.add(num);
  }
  return null;
}

الخلاصة

تعلم الخوارزميات الأساسية وحل مسائل على LeetCode. الممارسة هي المفتاح.

الوسوم

#Algorithms#Data Structures#Coding#مقابلات#أساسيات

مقالات ذات صلة