سطر 17: |
سطر 17: |
| تتطلب هذه اللعبة من الطلاب اتباع خطوات اللعبة للبحث عن عنصر معين داخل مصفوفة المتدربين، و قد تختلف طريقة البحث في كل مرة (بالترتيب ، بدون ترتيب ، البحث عن قيمة غير موجودة ، البحث عن قيمة مكررة ... الخ) . هذه التعليمات هي أوامر بسيطة يجب أن تنفذ بدقة و طبقا للتتابع المحدد في الورقة حتى نصل إلى نتيجة البحث المطلوبة. و تأخذ هذه الأوامر احد الأشكال التالية: | | تتطلب هذه اللعبة من الطلاب اتباع خطوات اللعبة للبحث عن عنصر معين داخل مصفوفة المتدربين، و قد تختلف طريقة البحث في كل مرة (بالترتيب ، بدون ترتيب ، البحث عن قيمة غير موجودة ، البحث عن قيمة مكررة ... الخ) . هذه التعليمات هي أوامر بسيطة يجب أن تنفذ بدقة و طبقا للتتابع المحدد في الورقة حتى نصل إلى نتيجة البحث المطلوبة. و تأخذ هذه الأوامر احد الأشكال التالية: |
| * يتم توزيع الأرقام علي المتدربين. | | * يتم توزيع الأرقام علي المتدربين. |
− | * يتم ايقاف المتدربين في شكل صف مرة مرتب ومرة غير مرتب للتعبير عن شكل المصفوفة. | + | * يتم ايقاف المتدربين في شكل صف مرة مرتب للتعبير عن شكل المصفوفة. |
− | * يتم اعطاء متدرب دليل البحث ليقوم بعملية البحث. | + | * يتم اعطاء متدرب دليل البحث ليقوم بعملية البحث. |
− | * يقوم المتدرب صاحب دليل البحث بالبدء من أول الصف من اليمين أو اليسار ويقوم بمقارنة وسؤال كل متدرب علي حدة في الصف عن القيمة التي يحملها ومقارنتها بقيمة الدليل. | + | * تقوم فكرة البحث الثنائي على تقسيم المصفوفة إلى نصفين واستبعاد النصف الذي لا ينتمي إليه المفتاح key الذي نبحث عنه، كيف ذلك؟ |
− | * يبدأ البحث بالتحقق من العنصر الأول هل هو مساوٍ للعُنصر المراد البحث عنه، إذا وُجد العنصر المراد البحث عنه يُحتفظ برقم الفهرس الخاص بالعنصر و تُنهى عملية البحث. | + | عن طريق تحديد العنصر الذي يقع في منتصف هذه المصفوفة، ثم نقارن هذا العنصر مع المفتاح الذي نبحث عنه كالتالي (تذكر أن مصفوفتنا مرتبة تصاعدياً أو تنازلياً): |
− | * إذا لم يُوجد العنصر المراد البحث عنه تنتقل عملية البحث من العنصر الأول في المصفوفة إلى العنصر الثاني ثم الثالث و هكذا إلى أن يكتمل البحث عن العُنصر المراد البحث عنه في كامل المصفوفة. | + | |
| + | * إذا كان يساويه نكون قد وجدنا العنصر الذي نبحث عنه. |
| + | |
| + | * إذا كانت قيمة المفتاح أقل من قيمة العنصر الأوسط في المصفوفة، إذن نحتاج أن نبحث فقط في نصف المصفوفة الأول ونستبعد البحث في نصفها الثاني. |
| + | |
| + | * وفيما عدا ذلك: إذا كانت قيمة المفتاح أكبر من قيمة العنصر الأوسط في المصفوفة، إذن نحتاج أن نبحث فقط في نصف المصفوفة الثاني ونستبعد البحث في نصفها الأول. |
| + | |
| + | بعد ذلك: نعتبر النصف الذي حددنا لأنفسنا البحث فيه مصفوفة قائمة بحد ذاتها، نحدد فيها الـi, j, & k (أي نقوم بتقسيمها إلى قسمين) ونطبق نفس الخطوات من 1 إلى 3 فيها، ثم نقارن المفتاح مع العنصر الأوسط الجديد، بنفس الترتيب الذي ذكر في الخطوات 1 إلى3 السابقة. |
| | | |
| يجب على الطالب ملاحظة الأتي: | | يجب على الطالب ملاحظة الأتي: |