حساب تخصيص الذاكرة ووقتها الوصول في الأرشيف والقوائم: دليل الخطوة باء - الإجراءات
Table of Contents
ومن الضروري فهم كيفية تخصيص الذاكرة والوصول إليها في الصفائف والقوائم من أجل تحقيق الأداء الأمثل في البرمجة، ويوفر هذا الدليل تفسيرا واضحا ومتدرجة لهذه المفاهيم، مع التركيز على الاختلافات بين الصفائف والقوائم المرتبطة بها.
Memory Allocation in Arrays
وتوزع الأشعة ذاكرة في كتل متاخمة، وعندما يتم إنشاء صفيفة، يُحتفظ بكمية ثابتة من الذاكرة استنادا إلى عدد العناصر وحجم كل عنصر، مما يتيح الوصول السريع إلى العناصر باستخدام الرقم القياسي.
ويحسب مجموع الذاكرة المخصصة على النحو التالي:
Memory = عدد العناصر × حجم كل عنصر ]
وقت الوصول في الأرشيف
الوصول إلى عنصر في صفيفة سريع جداً بسبب فهرسة مباشرة، وتعقد الوقت ثابت، O (1)، حيث يمكن حساب عنوان الذاكرة مباشرة باستخدام عنوان القاعدة والرقم القياسي.
قصر الأسماء في القوائم
وتوزع القوائم المرابطة ذاكرة كل عقدة دينامية، ويتضمن كل عقد بيانات ومرجع (محدد) إلى العقد التالي، ولا تكون الذاكرة متقاربة، مما قد يؤدي إلى تجزؤ.
والذاكرة الإجمالية المستخدمة هي مجموع جميع العُمدات المحسوبة على النحو التالي:
Memory = Number of nodes × (Size of data + Size of pointer)]
وقت الوصول إلى القوائم
ويستلزم الوصول إلى عنصر في قائمة مترابطة نقض العُقد من الرأس حتى بلوغ الوضع المنشود، حيث يكون التعقد الزمني هو الخط (O(n) حيث لا يوجد موقف من العنصر.
- وتتيح الأشعة إمكانية الوصول بسرعة بسبب الفهرسة المباشرة.
- وتوفر القوائم توزيعا ديناميا للذاكرة ومرونة.
- ويتوقف الاختيار بين الصفائف والقوائم على احتياجات محددة من التطبيقات.