- بواسطة x32x01 ||
إيه هي الـ Array في البرمجة؟ وليه بتعتبر أهم هياكل البيانات؟ 💻
ليه بنحتاج الـ Array؟ 🤔
تخيل معايا الموقف ده:
- عندك مجموعة من البيانات من نفس النوع
- عايز تخزنهم وتتعامل معاهم بطريقة منظمة
- مش عايز تخزن كل بيانات لوحدها في الميموري
إيه هيا الـ Array بالضبط؟ 🎯
الـ Array هيا:- هيكل بيانات (Data Structure)
- بيتستخدم لتخزين مجموعة عناصر
- بشرط أساسي: كل العناصر يكونوا من نفس النوع
- يعني ممكن نخزن فيها كلها أرقام، أو كلها نصوص، أو كلها أي نوع تاني
int numbers[5] = {1, 2, 3, 4, 5};إزاي بتتخزن الـ Array في الذاكرة؟ 💾
- كل عناصر الـ Array بتتخزن في أماكن متجاورة في الذاكرة
- ممنوع تتفرق في أماكن متباعدة
- ده بيضمن سرعة في الوصول للبيانات
أهم العمليات على الـ Array ⚙️
1. البحث (Searching) 🔍
- الـ Time Complexity بيعتمد على طريقة البحث
- فيه طرق كتير زي:
- Linear Search - البحث الخطي
- Binary Search - البحث الثنائي
2. الوصول للعناصر (Access) 🎯
- الـ Time Complexity بتكون
O(1) - يعني وقت ثابت مهما كبر حجم الـ Array
- والسبب إن الـ Array بيدعم Random Access
- تقدر توصل لأي عنصر مباشرة من غير ما تعدي على كل العناصر
int x = numbers[2]; // بنوصل للعنصر التالت مباشرة3. الإضافة (Insertion) ➕
- الـ Time Complexity بتكون
O(n) - ليه؟ علشان العناصر لازم تفضل متخزنة جنب بعض
- لما تضيف عنصر جديد، ممكن يضطر النظام ينقل كل العناصر لمكان جديد في الذاكرة
4. الحذف (Deletion) 🗑️
- الـ Time Complexity بتكون
O(n)برضه - علشان النظام بيضطر ينقل العناصر المتبقية لمكان جديد في الذاكرة
مميزات وعيوب الـ Array ⚖️
المميزات:
✅ سرعة فائقة في الوصول للعناصر
✅ كفاءة عالية في عمليات البحث
✅ تنظيم ممتاز للبيانات المتجانسة
العيوب:
❌ صعوبة في إضافة عناصر جديدة
❌ صعوبة في حذف عناصر موجودة
❌ حجم ثابت في معظم لغات البرمجة
خاتمة: أمتى نستخدم الـ Array؟ 🎯
استخدم الـ Array لما:• عدد العناصر معروف مسبقًا
• كل العناصر من نفس النوع
• محتاج سرعة في الوصول للبيانات
• مش محتاج تكثير تضيف وتحذف عناصر كتير
التعديل الأخير: