البرمجة
تعلم Algorithms الأساسية
12 ديسمبر 202512 دقائق قراءة
أساسيات الخوارزميات وهياكل البيانات للمقابلات والبرمجة.
لماذا الخوارزميات؟
الخوارزميات تحسن تفكيرك البرمجي. ضرورية للمقابلات وتحسين أداء الكود.
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#مقابلات#أساسيات