تستخدم المصفوفات على نطاق واسع في مختلف مجالات العلوم والتكنولوجيا ، لذلك من المهم أن تكون قادرا على العمل معها. واحدة من العمليات الرئيسية مع المصفوفات هي البحث عن الحد الأقصى والحد الأدنى من العناصر. في هذه المقالة ، سننظر في بعض الطرق البسيطة للعثور على هذه العناصر.
الطريقة الأولى هي التكرار من خلال جميع عناصر المصفوفة باستخدام حلقتين متداخلتين. تتكرر الحلقة الخارجية من خلال صفوف المصفوفة ، وتتكرر الحلقة الداخلية من خلال العناصر الموجودة في كل صف. أثناء عملية التكرار ، نقارن العنصر الحالي بالحد الأقصى والحد الأدنى الذي تم العثور عليه من قبل. إذا كان العنصر الحالي أكبر من الحد الأقصى ، فإننا نقوم بتحديث قيمة الحد الأقصى للعنصر ، وإذا كان أقل من الحد الأدنى ، فإننا نقوم بتحديث قيمة الحد الأدنى للعنصر.
تعتمد الطريقة الثانية على استخدام الوظائف المضمنة لحساب الحد الأقصى والحد الأدنى من العناصر. تحتوي معظم لغات البرمجة الحديثة على وظائف تسمح لك بالعثور على العناصر القصوى والدنيا في مجموعة معينة من البيانات ، بما في ذلك المصفوفات. للقيام بذلك ، تحتاج إلى تمرير المصفوفة إلى الوظيفة المناسبة وسوف يعود الحد الأقصى والحد الأدنى من العناصر.
- الخوارزمية لإيجاد الحد الأقصى والحد الأدنى من عناصر المصفوفة
- البحث المتسلسل عن العناصر القصوى والدنيا
- العثور على الحد الأقصى والحد الأدنى من العناصر باستخدام الحلقات
- البحث عن الحد الأقصى والحد الأدنى من العناصر باستخدام العودية
- ابحث عن العناصر القصوى والدنيا باستخدام الوظائف المضمنة
- 1. ماكس وظيفة
- 2. دقيقة وظيفة
- سؤال وجواب
- كيف يمكنني العثور على الحد الأقصى للعنصر في المصفوفة?
- كيف يمكنني العثور على الحد الأدنى للعنصر في مصفوفة ثنائية الأبعاد?
- كيف يمكنني العثور على الحد الأقصى للعنصر في مصفوفة مربعة?
الخوارزمية لإيجاد الحد الأقصى والحد الأدنى من عناصر المصفوفة
للعثور على الحد الأقصى والحد الأدنى من العناصر في المصفوفة ، يمكنك استخدام الخوارزمية التالية:
- تهيئة المتغيرات لتخزين العناصر القصوى والدنيا.
- انتقل من خلال جميع عناصر المصفوفة في حلقات متداخلة.
- في كل تكرار ، قارن العنصر الحالي بالقيم القصوى والدنيا.
- إذا كان العنصر الحالي أكبر من القيمة القصوى ، فقم بتحديث قيمة العنصر الأقصى.
- إذا كان العنصر الحالي أقل من الحد الأدنى للقيمة ، فقم بتحديث قيمة الحد الأدنى للعنصر.
- بعد الانتهاء من الدورات ، قم بإخراج قيم العناصر القصوى والدنيا للمصفوفة.
يوجد أدناه جدول يوضح هذه الخوارزمية:
| المصفوفة | الحد الأقصى للعنصر | الحد الأدنى للعنصر |
|---|---|---|
| 9 | 1 |
في هذا المثال ، الحد الأقصى للعنصر هو الرقم 9 ، والحد الأدنى للعنصر هو الرقم 1.
وبالتالي ، تسمح لك الخوارزمية بالعثور على العناصر القصوى والدنيا في المصفوفة باستخدام عمليات بسيطة لمقارنة وتحديث قيم المتغيرات.
البحث المتسلسل عن العناصر القصوى والدنيا
واحدة من أسهل الطرق للعثور على الحد الأقصى والحد الأدنى من العناصر في المصفوفة هي البحث بالتتابع من خلال جميع عناصر المصفوفة.
الخوارزمية لإيجاد الحد الأقصى للعنصر:
- تهيئة الحد الأقصى المتغير مع قيمة العنصر الأول من المصفوفة.
- قارن بالتتابع كل عنصر من عناصر المصفوفة بالقيمة القصوى الحالية. إذا كان العنصر الحالي أكبر من الحد الأقصى ، فقم بتحديث القيمة القصوى.
- كرر الخطوة السابقة لكل عنصر من عناصر المصفوفة.
- في نهاية البحث ، يحتوي المتغير الأقصى على القيمة القصوى في المصفوفة.
الخوارزمية لإيجاد الحد الأدنى من العنصر:
- تهيئة المتغير الأدنى بقيمة العنصر الأول من المصفوفة.
- قارن بالتتابع كل عنصر من عناصر المصفوفة بالقيمة الدنيا الحالية. إذا كان العنصر الحالي أقل من دقيقة ، تحديث قيمة دقيقة.
- كرر الخطوة السابقة لكل عنصر من عناصر المصفوفة.
- في نهاية البحث ، يحتوي المتغير الأدنى على الحد الأدنى للقيمة في المصفوفة.
نتيجة للخوارزمية ، يمكن العثور على كل من العناصر القصوى والدنيا للمصفوفة.
العثور على الحد الأقصى والحد الأدنى من العناصر باستخدام الحلقات
يمكن استخدام الحلقات للعثور على العناصر القصوى والدنيا في المصفوفة.
إحدى الطرق البسيطة هي التكرار من خلال جميع عناصر المصفوفة باستخدام حلقتين متداخلتين ومقارنة كل عنصر بالقيم القصوى والدنيا الحالية.
كثافة العمليات [] [] مصفوفة = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
كثافة العمليات ماكس = مصفوفة [0] [0];
كثافة العمليات دقيقة = مصفوفة [0] [0];
ل (كثافة العمليات[] صف: مصفوفة) {
ل (عنصر كثافة العمليات: صف) {
إذا (العنصر > ماكس) {
ماكس = عنصر;
}
إذا (عنصر < دقيقة) {
دقيقة = عنصر;
}
}
}
النظام.خارج.برينتلن ("الحد الأقصى للعنصر:" + الحد الأقصى);
النظام.خارج.برينتلن ("الحد الأدنى للعنصر:" + دقيقة);
في هذا المثال ، يتم إنشاء مصفوفة مصفوفة ثنائية الأبعاد تمثل المصفوفة. ثم يتم تعيين المتغيرات ماكس و مين قيمة العنصر الأول من المصفوفة.
بعد ذلك ، يتم تكرار جميع عناصر المصفوفة من خلال استخدام الدورات. إذا كان العنصر الحالي أكبر من الحد الأقصى ، فسيتم تحديث قيمة العنصر الأقصى. إذا كان العنصر الحالي أقل من الحد الأدنى ، فسيتم تحديث قيمة الحد الأدنى للعنصر.
في النهاية ، يتم عرض العناصر القصوى والدنيا التي تم العثور عليها.
البحث عن الحد الأقصى والحد الأدنى من العناصر باستخدام العودية
تتمثل إحدى طرق العثور على الحد الأقصى والحد الأدنى من العناصر في المصفوفة في استخدام دالة تكرارية. العودية هي العملية التي تستدعي بها الوظيفة نفسها قبل الوصول إلى الحالة الأساسية.
للبحث عن الحد الأقصى للعنصر في المصفوفة باستخدام العودية ، يمكنك:
- حدد أي عنصر من عناصر المصفوفة وقارنه بالعنصر الأقصى الحالي.
- إذا كان العنصر المحدد أكبر من العنصر الأقصى الحالي ، فقم بتحديث العنصر الأقصى.
- بعد ذلك ، استدعاء الدالة بشكل متكرر للجزء المتبقي من المصفوفة ، وتحديث العنصر الأقصى الحالي إذا كان العنصر الموجود أكبر من الحد الأقصى الحالي.
- الحالة الأساسية: عندما تترك المصفوفة فارغة ، أعد العنصر الأقصى الحالي.
وبالمثل ، للعثور على الحد الأدنى للعنصر ، يمكنك استخدام دالة تكرارية ، باتباع نفس الخطوات ، ولكن بمقارنة العناصر بقيمة أصغر.
هنا مثال على تنفيذ وظيفة في بايثون:
ديف فيندماكس (ماتريكس ، كورماكس):
# الحالة الأساسية: المصفوفة فارغة
إذا لين (مصفوفة) = = 0:
عودة كور_ماكس
# حدد العنصر الأول من المصفوفة
أول_عنصر = مصفوفة [0] [0]
# إذا كان العنصر الأول أكبر من الحد الأقصى الحالي ، فقم بتحديث العنصر الأقصى
إذا كان أول_عنصر > كور_ماكس:
كير_ماكس = أول_عنصر
# استدعاء الدالة بشكل متكرر للجزء المتبقي من المصفوفة وتحديث العنصر الأقصى الحالي
عودة العثور على ماكس (مصفوفة [1:] ، كورماكس)
ديف فيند مين (مصفوفة ، كوردمين):
# الحالة الأساسية: المصفوفة فارغة
إذا لين (مصفوفة) = = 0:
العودة
# حدد العنصر الأول من المصفوفة
أول_عنصر = مصفوفة [0] [0]
# إذا كان العنصر الأول أقل من الحد الأدنى الحالي ، فقم بتحديث الحد الأدنى للعنصر
إذا كان العنصر الأول:
كير_مين = أول_عنصر
# استدعاء الدالة بشكل متكرر للجزء المتبقي من المصفوفة وتحديث العنصر الأدنى الحالي
عودة العثور على دقيقة (مصفوفة [1:] ، كوردمين)
# مثال على استخدام الوظيفة
مصفوفة = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
ماكس_ليمنت = العثور على_ماكس (مصفوفة ، تعويم ('- إنف'))
الحد الأدنى للعنصر = البحث عن دقيقة (مصفوفة ، تعويم ('الوقود النووي المشع'))
طباعة ("الحد الأقصى للعنصر:" ، الحد الأقصى للعنصر)
طباعة ("الحد الأدنى للعنصر:" ، الحد الأدنى للعنصر)
نتيجة لتنفيذ هذا الرمز ، سيتم العثور على الحد الأقصى والحد الأدنى من عناصر المصفوفة والإخراج.
يمكن أن يكون استخدام العودية للعثور على الحد الأقصى والحد الأدنى من عناصر المصفوفة مفيدا ، خاصة إذا كانت المصفوفة لها شكل غير عادي أو تتطلب خوارزمية معالجة أكثر تعقيدا. ومع ذلك ، يجب أن يؤخذ في الاعتبار أن الخوارزميات العودية قد تكون أقل كفاءة في الوقت وتتطلب المزيد من الذاكرة.
ابحث عن العناصر القصوى والدنيا باستخدام الوظائف المضمنة
تحتوي لغات البرمجة على وظائف مضمنة تسهل العثور على العناصر القصوى والدنيا في المصفوفة. إنها تسمح لك بتجنب كتابة الخوارزميات المعقدة والحصول على القيم المطلوبة في بضعة أسطر.
1. ماكس وظيفة
تتيح لك الوظيفة القصوى العثور على القيمة القصوى بين الأرقام التي تم تمريرها إليها. للعثور على الحد الأقصى للعنصر في المصفوفة ، يمكنك استخدام هذه الوظيفة.
مصفوفة = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
ماكس _عنصر = ماكس (ماكس (صف) للصف في المصفوفة)
في هذا المثال ، نستخدم مولد قائمة للعثور على الحد الأقصى للعنصر لكل صف من المصفوفة. ثم نمرر قائمة العناصر القصوى إلى الوظيفة القصوى ونحصل على القيمة المطلوبة.
2. دقيقة وظيفة
تعمل وظيفة الحد الأدنى بشكل مشابه للوظيفة القصوى ، ولكنها تجد الحد الأدنى للقيمة. يمكنك أيضا استخدام هذه الوظيفة للعثور على الحد الأدنى للعنصر في المصفوفة.
مصفوفة = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
مين_عنصر = دقيقة (دقيقة (صف) للصف في المصفوفة)
في هذا المثال ، نستخدم مولد قائمة للعثور على الحد الأدنى للعنصر لكل صف من المصفوفة. ثم نقوم بتمرير قائمة الحد الأدنى من العناصر إلى وظيفة الحد الأدنى والحصول على القيمة المطلوبة.
يتيح لك استخدام وظائف الحد الأقصى والحد الأدنى المدمجة العثور على الحد الأقصى والحد الأدنى من عناصر المصفوفة دون كتابة خوارزميات معقدة. هذا النهج أبسط وأكثر فعالية.
سؤال وجواب
كيف يمكنني العثور على الحد الأقصى للعنصر في المصفوفة?
للعثور على الحد الأقصى للعنصر في المصفوفة ، يمكنك استخدام خوارزمية بسيطة تتكرر من خلال جميع عناصر المصفوفة وتخزن القيمة القصوى. أولا ، قمنا بتعيين متغير سنقوم فيه بتخزين العنصر الأقصى الحالي. ثم نتصفح جميع عناصر المصفوفة ، وإذا كان العنصر الحالي أكبر من قيمة المتغير ، فقم بتحديث قيمة المتغير. نتيجة لذلك ، نحصل على الحد الأقصى لعنصر المصفوفة.
كيف يمكنني العثور على الحد الأدنى للعنصر في مصفوفة ثنائية الأبعاد?
للعثور على الحد الأدنى للعنصر في مصفوفة ثنائية الأبعاد ، يمكنك استخدام خوارزمية بسيطة تتكرر من خلال جميع عناصر المصفوفة وتخزن الحد الأدنى للقيمة. أولا ، قمنا بتعيين متغير سنقوم فيه بتخزين الحد الأدنى الحالي للعنصر. ثم نقوم بمضاعفة الحلقة عبر جميع عناصر المصفوفة ، وإذا كان العنصر الحالي أقل من قيمة المتغير ، فقم بتحديث قيمة المتغير. نتيجة لذلك ، نحصل على الحد الأدنى من عنصر المصفوفة.
كيف يمكنني العثور على الحد الأقصى للعنصر في مصفوفة مربعة?
للعثور على الحد الأقصى للعنصر في مصفوفة مربعة ، تحتاج إلى تصفح جميع عناصر المصفوفة ، وتذكر العنصر الأقصى الحالي. للقيام بذلك ، يمكنك استخدام حلقة مزدوجة تتكرر عبر جميع صفوف وأعمدة المصفوفة. في كل تمريرة ، نتحقق مما إذا كان العنصر الحالي أكبر من القيمة القصوى المخزنة. إذا كانت الإجابة بنعم ، فإننا نقوم بتحديث قيمة المتغير مع الحد الأقصى للعنصر. في النهاية ، نحصل على القيمة القصوى.