يعد العثور على أصغر رقم في المصفوفة أحد أكثر المهام شيوعا في البرمجة. هذه هي العملية الأساسية التي تسمح لك بالعثور على أصغر عنصر في تسلسل معين. في هذه المقالة ، سننظر في بعض الطرق البسيطة والفعالة لحل هذه المشكلة.
واحدة من أسهل الطرق للعثور على أصغر رقم في صفيف هو استخدام حلقة المقارنة. يمكننا تكرار على جميع عناصر المصفوفة ومقارنة كل عنصر مع أصغر واحد الحالي. إذا وجدنا عنصرا أصغر من الأصغر الحالي ، فإننا نقوم بتحديث أصغر رقم. ونتيجة لذلك ، نحصل على أصغر عدد بعد نهاية الدورة.
على سبيل المثال ، لدينا صفيف [5, 10, 2, 8, 3]. يمكننا أن نبدأ بالعنصر الأول ، وهو 5. ثم نقارنه بأصغر عدد حالي ، وهو 5 حتى الآن. نظرا لأن 5 أقل من 10 ، نقوم بتحديث أصغر رقم حالي بمقدار 5. ثم ننتقل إلى العنصر التالي ونكرر العملية. نتيجة لذلك ، سنجد أن أصغر رقم في المصفوفة هو 2.
تعمل الطريقة الموضحة أعلاه للعثور على أصغر رقم في المصفوفة ، ولكنها قد تكون غير فعالة للمصفوفات الكبيرة. بدلا من التكرار على جميع عناصر المصفوفة ، يمكنك استخدام إحدى خوارزميات الفرز ، على سبيل المثال ، فرز الفقاعات أو فرز التحديد. تسمح لك كلتا الخوارزميتين بالعثور على أصغر رقم في الوقت الخطي ، أي في الوقت المناسب بما يتناسب مع حجم المصفوفة.
أخيرا ، يمكنك العثور على أصغر رقم في المصفوفة باستخدام حلقة مقارنة بسيطة أو خوارزميات فرز أكثر كفاءة. عند اختيار طريقة ، يجب أن تأخذ في الاعتبار حجم المصفوفة ومتطلبات الأداء.
- طريقة القوة الغاشمة البسيطة
- طريقة استخدام الوظائف المدمجة
- طريقة البحث الثنائي
- طريقة الفرز واختيار الحد الأدنى
- سؤال وجواب
- كيف يمكنني العثور على أصغر رقم في صفيف?
- ما هي الطريقة الأكثر فاعلية للعثور على أصغر رقم في المصفوفة?
- هل هناك طريقة أخرى للعثور على أصغر رقم في المصفوفة?
طريقة القوة الغاشمة البسيطة
طريقة التكرار البسيطة هي واحدة من أبسط الطرق للعثور على أصغر رقم في صفيف. وهو يتألف من مقارنة كل عنصر من عناصر المصفوفة بالتتابع مع أدنى قيمة حالية.
خوارزمية طريقة التكرار البسيطة:
- قيمة العنصر الأول من المصفوفة.
- انتقل من خلال جميع العناصر المتبقية من المصفوفة.
- .
- سيحتوي على أصغر رقم في المصفوفة.
مثال على تنفيذ طريقة تكرار بسيطة في جافا سكريبت:
وظيفة فيندمين(أر) {
دعونا دقيقة = آر [0];
إلى عن على (دعني = 1 ؛ أنا < آر.الطول ؛ أنا {) {
إذا (آر [أنا] < دقيقة) {
دقيقة = آر [أنا];
}
}
العودة دقيقة;
}
طريقة التكرار البسيطة لها تعقيد زمني لـ ا (ن) ، أين ن هو عدد العناصر في المصفوفة. إنه سهل التنفيذ ، ولكنه قد يكون غير فعال عند العمل مع صفائف كبيرة جدا أو عندما يكون من الضروري العثور بشكل متكرر على أصغر رقم في نفس المصفوفة.
طريقة استخدام الوظائف المدمجة
تتيح لك وظائف لغة البرمجة المدمجة العثور على أصغر رقم في صفيف دون كتابة رمز إضافي. هناك العديد من الوظائف المضمنة التي يمكن استخدامها لهذه المهمة.
- الرياضيات.دقيقة () هي وظيفة ترجع أصغر الأرقام التي تم تمريرها إليها.
- صفيف.النموذج الأولي.الفرز () هو طريقة تقوم بفرز عناصر المصفوفة بترتيب تصاعدي.
- صفيف.النموذج الأولي.تقليل () هي طريقة تطبق وظيفة على المجمع وكل عنصر من عناصر المصفوفة (من اليسار إلى اليمين) ، مما يؤدي إلى تقليلها إلى قيمة واحدة.
لاستخدام وظيفة الرياضيات.دقيقة () يجب أن تمر جميع عناصر المصفوفة إليها كوسائط. على سبيل المثال:
أرقام كونست = [5, 2, 8, 1, 3];
كونست مينومبر = الرياضيات.دقيقة(...أرقام);
وحدة التحكم.سجل (مينومبر);
الصفيف.النموذج الأولي.طريقة الفرز () تسمح لك بفرز المصفوفة بترتيب تصاعدي. بعد ذلك ، سيكون أصغر رقم في الفهرس الأول للمصفوفة. مثال الاستخدام:
أرقام كونست = [5, 2, 8, 1, 3];
numbers.sort();
const minNumber = numbers[0];
console.log(minNumber);
Метод Array.prototype.reduce() позволяет применить функцию к массиву и сократить его до одного значения, в данном случае, наименьшего числа. Пример использования:
const numbers = [5, 2, 8, 1, 3];
const minNumber = numbers.reduce((accumulator, current) => {
return Math.min(accumulator, current);
});
console.log(minNumber);
يعد استخدام الوظائف المضمنة أحد أبسط الطرق وأكثرها ملاءمة للعثور على أصغر رقم في المصفوفة.
طريقة البحث الثنائي
تعد طريقة البحث الثنائي واحدة من أكثر الطرق فعالية للعثور على أصغر رقم في صفيف تم فرزه. تعتمد هذه الطريقة على مبدأ تقسيم المصفوفة الأصلية إلى نصفين حتى يتم العثور على العنصر المطلوب.
لتطبيق طريقة البحث الثنائي ، اتبع الخطوات التالية:
- قم بتعيين القيم الأولية للمتغيرات لتحديد فهارس البداية والنهاية للمصفوفة.
- احسب متوسط مؤشر المصفوفة بقسمة مجموع الفهارس الأولية والنهائية على 2.
- قارن قيمة عنصر من مؤشر المتوسط مع العنصر السابق من المصفوفة.
- إذا كانت قيمة عنصر الفهرس الأوسط أقل من العنصر السابق ، فإن أصغر رقم يقع على الجانب الأيسر من المصفوفة.
- خلاف ذلك ، إذا كانت قيمة عنصر الفهرس الأوسط أكبر من العنصر السابق ، فإن أصغر رقم يقع على الجانب الأيمن من المصفوفة.
- كرر الخطوات من 2 إلى 5 حتى يتم العثور على أصغر رقم.
تكمن ميزة طريقة البحث الثنائي في تعقيدها الزمني ، وهو س (سجل ن). هذا يعني أن وقت العثور على أصغر رقم في المصفوفة المصنفة سينخفض بشكل متناسب مع لوغاريتم عدد العناصر في المصفوفة.
مثال على تنفيذ طريقة البحث الثنائي:
| مجموعة المدخلات | النتيجة |
|---|---|
| [1, 2, 3, 4, 5] | 1 |
| [5, 10, 15, 2, 4] | 2 |
| [2, 4, 6, 8, 10] | 2 |
وبالتالي ، فإن طريقة البحث الثنائي هي طريقة فعالة للعثور على أصغر رقم في مصفوفة مرتبة بناء على تقسيم المصفوفة إلى نصفين ثم مقارنة قيم العناصر.
طريقة الفرز واختيار الحد الأدنى
إذا كنت بحاجة إلى العثور على أصغر رقم في المصفوفة ، فقد تكون إحدى الطرق هي استخدام طريقة الفرز وتحديد الحد الأدنى للعنصر.
تتكون هذه الطريقة من الخطوات التالية:
- تذهب من خلال جميع عناصر المصفوفة.
- قارن العنصر الحالي بأصغر عنصر موجود.
- إذا كان العنصر الحالي أصغر من الأصغر ، فقم بتحديث قيمة أصغر عنصر.
بعد الانتهاء من المرور عبر المصفوفة ، سيتم العثور على أصغر عنصر.
نموذج شفرة جافا سكريبت:
وظيفة فيندمين(أر) {
فار دقيقة = آر [0];
إلى عن على (فار ط = 1; أنا < آر.الطول ؛ أنا {) {
إذا (آر [أنا] < دقيقة) {
دقيقة = آر [أنا];
}
}
العودة دقيقة;
}
أرقام فار= [5, 2, 9, 1, 7];
فار مينومبر = فيندمين (أرقام);
وحدة التحكم.سجل (مينومبر) ؛ / / 1
هذه الطريقة هي طريقة بسيطة وفعالة للعثور على أصغر رقم في صفيف. ومع ذلك ، لم يتم تحسينه للمصفوفات الكبيرة ، لأنه يتطلب المرور عبر جميع العناصر في كل مرة. إذا كنت بحاجة إلى العثور على أصغر رقم في مصفوفة عدة مرات ، فقد يكون من المفيد التفكير في طرق أخرى ، مثل فرز المصفوفة بترتيب تصاعدي واختيار الحد الأدنى للعنصر.
سؤال وجواب
كيف يمكنني العثور على أصغر رقم في صفيف?
هناك عدة طرق للعثور على أصغر رقم في المصفوفة. واحدة من أبسط الطرق هي التكرار من خلال كل عنصر من عناصر المصفوفة ومقارنتها بقيمة الحد الأدنى الحالي. إذا كان العنصر الحالي أقل من الحد الأدنى للرقم ، فسيتم تحديثه. وبالتالي ، بعد المرور عبر جميع عناصر المصفوفة ، يمكنك الحصول على أصغر رقم. هذه الطريقة تسمى "القوة الغاشمة البسيطة".
ما هي الطريقة الأكثر فاعلية للعثور على أصغر رقم في المصفوفة?
هناك طريقة أكثر فاعلية للعثور على أصغر رقم في المصفوفة وهي استخدام خوارزمية الفرز. إذا قمت بفرز المصفوفة بترتيب تصاعدي للأرقام ، فسيكون أصغر رقم في الموضع الأول. للقيام بذلك ، يمكنك استخدام خوارزميات الفرز المختلفة ، على سبيل المثال ، خوارزمية "الفرز حسب الاختيار" أو "الفرز حسب الفقاعة". أنها توفر أسوأ تعقيد وقت ممكن من س (ن^2) ، وهو فعال جدا للمصفوفات الصغيرة.
هل هناك طريقة أخرى للعثور على أصغر رقم في المصفوفة?
نعم ، إلى جانب التكرار البسيط والفرز ، هناك طريقة أخرى أكثر كفاءة للعثور على أصغر رقم في صفيف. هذا هو استخدام خوارزمية" الحد الأدنى والحد الأقصى". والفكرة هي لتقسيم مجموعة إلى أزواج من العناصر ومقارنة كل زوج ، ثم حدد أصغر عدد من كل زوج ومقارنتها مع بعضها البعض. وبالتالي ، سيتم العثور تدريجيا على أصغر الأرقام في كل صف فرعي حتى يتبقى رقم واحد فقط. توفر هذه الخوارزمية س (ن) تعقيد الوقت وهو الأكثر كفاءة للعثور على أصغر عدد في صفيف.