ما هي المصفوفة؟
مجموعة عناصر متجاورة في الذاكرة، يُوصَل إليها بفهرس يبدأ من 0.
تعقيد العمليات
| العملية | التعقيد |
|---|---|
| الوصول بالفهرس | O(1) |
| البحث (غير مرتّبة) | O(n) |
| الإدراج/الحذف في النهاية | O(1) |
| الإدراج/الحذف في البداية/الوسط | O(n) |
السبب: الإدراج في الوسط يتطلّب إزاحة كل العناصر التالية.
مثال
arr = [10, 20, 30]
arr[1] # O(1) الوصول
arr.append(40) # O(1) إضافة في النهاية
arr.insert(0, 5) # O(n) إزاحة الكل
المصفوفات الديناميكية
مثل list في بايثون وArrayList في جافا — تتوسّع تلقائيًا، لكن إعادة التحجيم أحيانًا تكلّف O(n).
💡 المصفوفة مثالية للوصول السريع بالفهرس، سيّئة للإدراج المتكرّر في الوسط.
🎯 التالي: القوائم المترابطة.