Urganch Davlat Universiteti
201-“KIDT” guruhi talabasi Matkarimova Kumushoyning Algoritmlar va berilganlar strukturasi fanidan tayyorlagan
MUSTAQIL ISHI
Mavzu:Selection Sort algoritmi
Reja:
1.Saralash tushunchasi
2.Saralash algoritmlarining samaradorligi
3.Tanlash algoritmi
Saralash tushunchasi
Saralash– bu tuzilma elementlarini qandaydirkriteriya asosida tartiblash.
Kriteriyasifatida odatda kalit deb ataluvchi sonlimaydon qo’llaniladi.
Elementlarni kalit maydonlarining har bir keyingisio’zidan oldingisidan kichik bo’lsa, bunday saralashkamayish tartibida saralashdeyiladi
.Agarda har bir keyingi kalit maydoni o’zidanoldingisidan katta bo’lsa,o’sish tartibida saralashdeyiladi.
Agar saralanayotgan yozuvlar xotirada katta xajmniegallasa, u holda ularni almashtirishlar ko’p vaqt vakatta hajmdagi xotira sarfini talab qiladi.
Ushbu sarfni kamaytirish maqsadida, saralash kalitlaradresi jadvalida amalga oshiriladi. Bunda faqatginama’lumot ko’rsatkichlari almashtirilib, elementlar o’zjoyida qoladi.
Bu usuladreslar jadvalini saralashusuli deyiladi.
Ichki saralash (massivda saralash)Ichki saralash (massivda saralash)
Massivlar odatda tezkor xotirada tashkil etiladi. Bundaasosiy kriteriya sifatida saralash uchun sarflanadiganxotirani minimallashtirish hisobga olinadi. Elementlaro’rnini almashtirish ushbu tezkor xotiraning o’zidaamalga oshirilishi kerak.
Massivda saralash usullarini uchta sinfga ajratishmumkin:
Qo’shish orqali saralash;
Tanlash orqali saralash;
Almashtirish orqali sarlash:
qat’iy (to’g’ridan-to’g’ri) usullar;
yaxshilangan usullar
Tanlash orqali saralash algoritmi
Mazkur usul quyidagi tamoyillarga asoslangan:
1. Eng kichik kalitga ega element tanlanadi.
2. Ushbu element birinchi element bilan o'rin almashinadi.
3. Keyin mazkur jarayon qolgan n-1, n-2 elementlar bilan takrorlanib, to bitta eng “katta” element qolguncha davom ettiriladi.
for(int i=0;i<="" i="">
for(int j=i+1;j<="" i="">
if (a[i] > a[j]){
int k = a[j];
a[j]= a[i];
a[i]= k;
}
Algoritm samaradorligi:
Taqqoslashlar soni
Massiv tartiblanganda o'rinlashtirishlar soni
Massiv teskari tartiblanganda o'rinlashtirishlar soni
Tanlash orqali saralash:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | class SelectionSort { // Selection Sort Method void sort(int array[]) { int n = array.length; for (int i = 0; i < n-1; i++) { int min_element = i; for (int j = i+1; j < n; j++) if (array[j] < array[min_element]) min_element = j; int temp = array[min_element]; array[min_element] = array[i]; array[i] = temp; } } void printarrayay(int array[]) { int n = array.length; for (int i=0; i System.out.print(array[i]+" "); System.out.println(); } // Main Method public static void main(String args[]) { SelectionSort ob = new SelectionSort(); int array[] = {15, 10, 99, 53, 36}; ob.sort(array); System.out.println("Sorted arrayay"); ob.printarrayay(array); } } |
Javobi:10 15 36 53 99
Do'stlaringiz bilan baham: |