ترتيب الاختيار
ترتيب الاختيار هو خوارزمية ترتيب الأكثر بديهية. و يتم عن طريق البحث إما عن العنصر الأكبر أو عن العنصر الأصغر و الذي يوضع في المكان الأخير، ثم نبحث عن ثاني أكبر أو أصغر عنصر و الذي يوضع في مكانه أي قبل المكان الأخير، إلى آخره... حثى يتم ترتيب الجدول كله.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
خصائص
- عدد المقارنات اللازمة لترتيب جدول عدد عناصره N هو N(N-1)/2
- عدد التبديلات في رتبة N
مثال بلغة C
typedef int tab_entiers[MAX]; void selection(tab_entiers t) { int i، min، j ، x; for(i = 0 ; i < MAX - 1 ; i++) { min = i; for(j = i+1 ; j < MAX ; j++) if(t[j] < t[min]) min = j; if(min != i) { x = t[i]; t[i] = t[min]; t[min] = x; } } }
| |