Professional Documents
Culture Documents
3 - DS - Searching Algorithms
3 - DS - Searching Algorithms
3 - DS - Searching Algorithms
خوارزميات البحث
)(SEARCHING ALGORITHMS
أستاذ المادة
د .خالد سويسي
ما هي خوارزميات البحث؟
■ تم تصميم خوارزميات البحث للتحقق من وجود عنصر أو استرداد عنصر من أي هيكل
بيانات يكون العنصر مخزنا فيها (كالمصفوفات أو القوائم).
■ تصنف خوارزميات البحث بشكل عام على حسب نوع أو طبيعة عملية البحث إلى فئتين
رئيسيتين هما:
.1البحث التسلسلي ( :)Sequential Searchفي هذا النوع من البحث يجري التنقل
عبر عناصر المصفوفة بالتتابع مع التحقق من كل عنصر فيها ،ومن األمثلة على هذا
النوع هو البحث الخ ّطي (.)Linear Search
صا
.2البحث المقطعي ( :)Interval Searchصممت هذا النوع من الخوارزميات خصي ً
للبحث في هياكل البيانات المرتبة في األصل .ويعتبر هذا النوع من خوارزميات البحث
أكثر فاعلية من البحث الخطي حيث أنها تستهدف بشكل متكرر مركز هيكلية البحث
وتقسم مساحة البحث إلى النصف .ومن أمثلتها البحث الثنائي (.)Binary Search
ّ خوارزمية البحث الخ-1
طي
)LINEAR SEARCH ALGORITHM(
كيفية عمل خوارزمية البحث الخ ّطي ()Linear Search
■ تعتبر من أبسط خوارزميات البحث المتبعة.
■ تتم عملية البحث عن طريق البحث من
أول المصفوفة بشكـل متتالـي مـرورا بكل
عنصر – الواحد يلو األخر.
■ يتم التحقق من كل عنصر فيما اذا كان
يساوي العنصر المراد البحث عنه (.)key
■ إذا تطابق أي من عناصر المصفوفة مع مفتاح البحث ( )keyعليه ستكون عملية
البحث ناجحة وسيتم إرجاع فهرس العنصر الذي تم إيجادة.
■ وإال سيستمر البحث بالمرور على كل العناصر وصوال الى اخر عنصر وإذ لم يتم
إيجاد العنصر المراد البحث عنه ،عليه سينتج عن البحث "فشل في ايجاد تطابق".
مثال عن آلية عمل دالة البحث الخطي
دالة البحث الخطي
■ فيما يلي الدالة ( )linearSearchالمتبعة إلجراء عملية البحث داخل المصفوفة:
*/ دالة البحث عن العدد xإذا كانت موجودة في المصفوفة أم ال */
THANK YOU ☺