Professional Documents
Culture Documents
محاضرة هياكل 3
محاضرة هياكل 3
محاضرة هياكل 3
ان اهم استخدامات الترتيب هو تسهيل او تسريع عملية البحث عن سجل هذا اضافة الي
استخدامات اخري في ترتيب المستويات لألفراد مثل نتائج االمتحانات والمنافسات بين
الطالب والموظفين وعامة المنافسات مثل اولويات الحجوزات والطلبات والخدمات عموما
والتي تعطي اولوية لألول فالتالي وهكذا
10/24/2023 2
خوارزميات الترتيب Sorting Algorithms
هنالك خوارزميات عدة في ترتيب المعلومات بعضها معقدة جدا وعالية
الكفاءة ونعني بالكفاءة ان يتم الترتيب في اقل وقت ممكن وفي اقل
سعة تخزين ممكنة ومن اشهر واهم هذه الخوارزميات :
الترتيب الفقاعي Bubble Sort
الترتيب باإلدخال Insertion Sort
الترتيب باالختيار Selection Sort
الترتيب بالتجزئة shell sorting
الترتيب السريع quick sorting
الترتيب المقيد heap sorting
الترتيب باألبدال exchange sorting
الترتيب بالدمج merge sorting
10/24/2023 إعداد :أ .محمد الفقهاء 3
الترتيب الفقاعي ( )Bubble Sort
يعتبر االكثر واالبسط من حيث االستخدام ولكن يعاب
عليه انه بطئ جدا وذلك ألنه يتأثر بعدد العناصر التي
يراد ترتيبها
مبدأ العمل -:
المرور على جميع العناصر المراد فرزها (ترتيبها)،
وعمل مقارنة بين العناصر المتجاورة وتبديل القيم
الغير مرتبة بحيث تحتل القيمة الكبرى الرتبة العليا .
المصفوفة.
الخفيفة حيثفيانالنهاية
الفقاعات االكبر الترتيب العنصر
الفقاعي : النهاية يصبح وفي
التسمية-:
تطفو على السطح و االثقل ترسو في القاع.
عدد جوالت عملية الترتيب -:
5 7 5 12 3 9
Pass 1 5 7 5 12 3 9
5 7 5 12 3 9
5 5 7 12 3 9
5 5 7 12 3 9
5 5 7 3 12 9
5 5 7 3 9 12
Pass 2 5 5 7 3 9 12
5 5 7 3 9 12
5 5 7 3 9 12
5 5 3 7 9 12
5 5 3 7 9 12
Pass 3 5 5 3 7 9 12
5 5 3 7 9 12
5 3 5 7 9 12
5 3 5 7 9 12
Pass 4 5 3 5 7 9 12
3 5 5 7 9 12
3 5 5 7 9 12
Pass 5 3 5 5 7 9 12
3 5 5 7 9 12 !!! Sorted
مثال :رتب عناصر المصفوفة التالية تصاعديا بطريقة الترتيب
الفقاعي؟
العنصر القيمة
)X(1 9
)X(2 7
)X(3 6
الجولة االولى -:عدد المقارنات 3 = 1-4 :
)X(3 )X(2) X(1 )X(0
مصدر الصورة
http://vsmecollege.blogspot.com/2010/05/bubble-sort-bash-shell-programming-with.html
)]algorithm BubbleSort(A[1..n
1. for i = 1 to n − 1 /* the i-th pass */
2. for j = 1 to n − i
3. ]if A[j] > A[j + 1
]4. swap A[j] with A[j + 1
التكرار في السطر األول نستخدمه لتكرار المرور على العناصر
المراد ترتيبها.
التكرار في السطر الثاني يستخدم لتكرار فحص كل عنصرين
اصغر قيمة
اصغر قيمة
Alg.: SELECTION-SORT(A)
n ← length[A]
for j ← 1 to n - 1
do smallest ← j
for i ← j + 1 to n
do if A[i] < A[smallest]
then smallest ← i
exchange A[j] ↔ A[smallest]
10/24/2023 23