مرحبا بالجميع
كيف حساب مساحة الذاكرة المستخدمة في خوارزمية معينة (space complexity)
مثال
int x;
char s;
int arr[3];
int =4
char =4
فيصبح المجموع
space complexity = 4+4+(4*3)=20
وسؤالي هل يوجد function جاهزة لحساب ذلك
مرحبا بالجميع
كيف حساب مساحة الذاكرة المستخدمة في خوارزمية معينة (space complexity)
مثال
int x;
char s;
int arr[3];
int =4
char =4
فيصبح المجموع
space complexity = 4+4+(4*3)=20
وسؤالي هل يوجد function جاهزة لحساب ذلك
تم تعديل هذه المشاركة بواسطة light stars في 21 مايو 2011 في 14:29
السلام عليكم
كل المشكلة فقط استعمال الـ operator , وهي sizeof ولكنها مش function
وضم المجموع في متغير من نوع int بعبارة حسابية معينة
وهناك صيغة وقانون لحساب حجم المصفوفة وايضاً باستعمال sizeof
مثال لكيفية الإستعمال
int x; int var = sizeof(x);
وهنا صيغة قانون حساب حجم المصفوفة بالذاكرة
sizeof(myArray) / sizeof(int)
لو كانت myArray هون مصفوفة من نوع int
آسفة الصيغة السابقة ربما تكون خطأ ولكن التأكد منها شغلة بسيطة
أجمل الإمنيات
تم تعديل هذه المشاركة بواسطة ♥ حُوريّة ♥ في 21 مايو 2011 في 15:46
[وسط]
♥ Countess ♥

♥
[/وسط]
من الصعب تحديد هذه المساحه لأن الكود الناتج بعد الترجمه سيختلف عن الذى قمت بكتابته حيث فى الأغلب سيقوم المترجم بإستخدام المسجلات للمتغيرات المحليه.
مدونتي: C++ Tips and Tricks
أخت ♥ حُوريّة ♥
sizeof يقوم بنفس العمل الذي فعلتة
فهذه طريقة صعبة و طويلة (أخذ كل عنصر لوحدة وجمعة مع اﻷخر)
اﻷمر اﻷخر
اقتباسوهنا صيغة قانون حساب حجم المصفوفة بالذاكرةsizeof(myArray) / sizeof(int)
المفترض نضرب في 4 وليس نقسم على 4
تم تعديل هذه المشاركة بواسطة light stars في 23 مايو 2011 في 21:24