سؤال بخصوص المصفوفات

شهد باسم • منذ أسبوعين

السلام عليكم أيها العالم الجميل..

عندي سؤال بسيط أتمنى إفادتي :

وش الأخف على البرنامج .. تعريف مصفوفة واحدة عناصرها كثيرة أو تعريف عدة مصفوفات بعناصر أقل

بمعنى مثلًا عندي 3 مصفوفات كل مصفوفة تحتوي على 10 عناصر هل من الأفضل تجميعها الـ30 عنصر في مصفوفة واحدة ؟

ساعد بالإجابة

"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."

الإجابات (1)

Mohammad Laif • منذ أسبوعين

وعليكم السلام ورحمة الله وبركاته

اي المصفوفات اسرع؟

الشئ هذا له علاقة بالخوارزميات (الخطوات التي تقوم بها المصفوفه في إنشاء واضافة وحذف العناصر في نفسها) فكل نوع من المصفوفات لها مميزات تختلف عن الاخرى, وكذلك في السرعه. فمثلاً بعضها اسرع في إضافة العناصر ولكن بطئيه في البحث, او العكس. ولمعرفة ايهم اسرع وفي ماذا (إظافة, حذف, تحديث, تغيير اماكن العناصر, الخ...) يجب علينا معرفة: اللغة البرمجيه و نوع المصفوفه المستخدمه (ان كانت Maps او LinkedList الخ...) والخوارزمية المستخدمه في العمليه. ثم عمل اختبارات لعناصر كبيره واخيراً مقارنة نتائج المصفوفات.

 

وش الأخف على البرنامج .. تعريف مصفوفة واحدة عناصرها كثيرة أو تعريف عدة مصفوفات بعناصر أقل

بمعنى مثلًا عندي 3 مصفوفات كل مصفوفة تحتوي على 10 عناصر هل من الأفضل تجميعها الـ30 عنصر في مصفوفة واحدة ؟

من المرجح التجزئه ستكون اخف بكثير, وإذا كان المعالج يدعم تعدد الخيوط الحاسوبية والمهام سيكون التعامل مع المصفوفة المجزئة اسرع بكثير. هذا مثال لإنشاء خيوط حاسوبية من المعالج لأتمام عملية القرائة لمصفوفة واحدة وذلك بتجزئتها الى خمس مصفوفات وفي وقت ذاته: انشاء بركة خيوط حاسوبية Thread Pools لتسريع قاعدة البيانات.

 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !