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
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.