6-laboratoriya ishi. Mavzu: Saralashning yaxshilangan usullari va ularning qo’llanilishi Ishdan maqsad


Download 269.23 Kb.
Pdf ko'rish
Sana10.12.2020
Hajmi269.23 Kb.
#163735
Bog'liq
laboratoriya ishi 6


6-LABORATORIYA ISHI. 

 

Mavzu: Saralashning yaxshilangan usullari va ularning qo’llanilishi 

Ishdan  maqsad:

 

Ushbu  laboratoriya  ishining  maqsadi  talabalar  qanday  saralash 



usullari  va  algoritmlari  mavjudligini  va  ularning  samaradorliklarini  baholashni 

o‘rganishlari  kerak.  Shu  asosda  saralash  usullarini  qiyosiy  tahlil  qilishlari,  C++ 

dasturlash tilida fayllar bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirishlari 

kerak.


 

Qo‘yilgan  masala:  Talabalar  topshiriq  variantiga  mos  saralash  usuli  yordamida 

masalani yechish dasturini yaratish ko‘nikmasiga ega bo‘lishlari kerak. 



Ish tartibi:

 

  Tajriba ishi nazariy ma’lumotlarini o‘rganish; 

  Berilgan topshiriqning algoritmini ishlab chiqish; 

  C++ dasturlash muhitida dasturni yaratish; 

  Natijalarni tekshirish; 

  Hisobotni tayyorlash va topshirish. 



 

Tanlash usuli bilan saralash algoritmi. 

 

Tanlash  saralashi  bu  juda  oddiy  saralash  texnikasi,  chunki  texnika  faqat  har  bir 

pasda eng kichik elementni topishni va uni to'g'ri holatga qo'yishni o'z ichiga oladi. 

Saralash  tartibi  saralanadigan  ro'yxat  kichik  hajmga  ega  bo'lganda  samarali 

ishlaydi, ammo  uning  ishlashi  yomon  ta'sir  qiladi, chunki saralanadigan  ro'yxat hajmi 

kattalashib boradi. 



Tanlash orqali saralash (A, N) 

 

1-qadam: K = 1 dan N-1 gacha bo'lgan 2 va 3-bosqichlarni takrorlash 

2-qadam: Qo'ng'iroq qilish tartibi eng kichik (A, K, N, POS) 

3-qadam: A [K] ni A [POS] bilan almashtirish 

4-qadam: EXIT 

 

Muntazam eng kichik (A, K, N, POS) 

 

1-qadam: [initiaizatsiya] set smallestElem = A [K] 

2-qadam: [boshlash] POS = K ni o'rnating 

3-qadam: J = K + 1 dan N -1 gacha, takrorlash 

if smallestElem> A [J] bo'lsa 

smallestElem = A [J] o'rnating 

POS = J ni o'rnating 

[agar tugasa] 

4-qadam: POS-ni qaytarish 

 

 



Tanlash orqali saralash algoritmi 

 

Tanlash uchun psevdokod saralash 

Jarayonni tanlash_sort (qator, N) 

     massiv - saralanadigan narsalar qatori 

     N - massivning kattaligi 

boshlash 

     I = 1 dan N-1 gacha 

     boshlash 

         min = i ni o'rnating 

         j = i + 1 dan N gacha 

         boshlash 

             agar array [j] 

                 min = j; 

             tugatish agar 

         uchun tugatish 

         // minimal elementni joriy element bilan almashtirish 

         agar minIndex! = Men keyin 

             qator [min [] va [i] qatorni almashtirish 

         tugatish agar 

     uchun tugatish 

tugatish tartibi 

 

 



 

 

 



Nazorat savollari 

1.  Saralash nima? 

2.  Saralash nima maqsadda qo’llaniladi? 

3.  Saralash qanday turlarga bo’linadi? 

4.  Saralashning pufakchali usuli qanday? 


 

Topshiriqlar: 

1.  “28”, “2”, “11”, “32”, “76”, “51”, “84”, “45”, “16” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

2.  “3”, “55”, “33”, “32”, “76”, “51”, “84”, “45”, “67” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin.  

3.  “28”, “12”, “11”, “32”, “76”, “53”, “84”, “45”, “59” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

4.  “48”, “13”, “11”, “32”, “76”, “54”, “84”, “45”, “67” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

5.  “68”, “43”, “11”, “32”, “76”, “57”, “84”, “45”, “36” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

6.  “78”, “54”, “11”, “32”, “76”, “58”, “84”, “45”, “37” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

7.  “20”, “23”, “11”, “32”, “74”, “59”, “64”, “55”, “16” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

8.  “28”, “21”, “11”, “32”, “76”, “41” , “84”, “45”, “36” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

9.  “28”, “32”, “41”, “62”, “76”, “47”, “44”, “45”, “14” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

10. “28”, “2”, “32”, “87”, “43”, “67”, “84”, “76”, “18” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

11. “22”, “26”, “14”, “52”, “76”, “45”, “84”, “75”, “15” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

12. “24”, “12”, “31”, “52”, “76”, “41”, “84”, “45”, “19” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

13. “28”, “29”, “11”, “22”, “76”, “51”, “84”, “45”, “13” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

14. “28”, “2”, “34”, “32”, “76”, “32” , “84”, “45”, “17” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 

15. “26”, “4”, “12”, “45”, “65”, “54” , “67”, “23”, “34” berilgan butun sonlarni 

pufakchali saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin. 



Download 269.23 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling