Sorting Algorithms
Sorting Algorithms
خوارزميات البحث
• للبحث عن : 7
نتحقق من جميع عناصر الـ Array؛ لأن 7غير موجود.
عدد المقارنات = .7
Searching Algorithms
إذا كان العنصر موجود ,الفنكشن يقوم بإرجاع موقع
( )indexالعنصر .و إذا كان غير موجود فإنه يرجع قيمة .-1
First Last
• ما فائدة الـmid؟
نسهل عملية البحث!
ّ لتقسيم الـ Arrayإلى جزئين؛ حتى
Searching Algorithms
بعد إيجاد قيمة ,midنقوم بمقارنة العنصر المراد البحث
عنه مع قيمة .midفإذا تطابق القيمتين ,الفنكشن يرجع
قيمة .mid
فرضاً نريد البحث عن العنصر ,48فنقوم بمقارنة قيمة
midبالعنصر ,45وبما ان 48 ≠ 39فنستمر بالبحث.
return -1;
}
First Last
First Last
Searching Algorithms
• Binary Search Code:
else
first = middle + 1;
. نقوم بالتحرك نحو الشق الايمن,mid أكبر منitem فإذا كان
First Last
First Last
First Last
Mid
First Last
Mid
Searching Algorithms
: مرة أخرىmid نقوم بحساب 5
middle = (first + last) / 2; middle = ( 6 + 7 ) / 2 = 6
if( A[middle] == item ) if( 45 == 45 ) = True
return middle;
هكذا :
][0 ][1 ][2 ][3 ][4 ][5 ][6 ][7
5 7 16 24 30 45 55 62
Selection Sort
• كود لتحديد أصغر عنصر في الـ: list
)1عملية التقسيم:
عند تقسيم الـ listمن
الوسط ,يصبح لدي زوج
يتكون كم منهما من 4
عناصر.
الانتهاء من عملية التقسيم؛ لأننا وصلنا إلى Listمكون من عنصر واحد. •
Merge Sort
)2عملية الدمج:
-أولاً نبدأ بالمقارنة بين القيم...
-القيمة الأقل تكون في أول الـ sub Listو ندمج
القيمتين :