AMALIY MASHG’ULOT- 3
Mavzu: Saralash usullari va ularning qo‘llanilishi. 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:
1.
Tajriba ishi nazariy ma’lumotlarini o‘rganish;
2.
Berilgan topshiriqning algoritmini ishlab chiqish;
3.
C++ dasturlash muhitida dasturni yaratish;
4.
Natijalarni tekshirish;
5.
Hisobotni tayyorlash va topshirish.
Pufakchali usuli bilan saralash algoritmi.
Bunday usul karta o‘yinida keng qo‘llaniladi. Elementlar (kartalar) hayolan
“tayyor”
a(1),...,a(i-1) va boshlang‘ich ketma-ketliklarga bo‘linadi. Har bir qadamda
(
i=2 dan boshlanib, har bir qadamda bir birlikka oshirib boriladi) boshlang‘ich
ketma-ketlikdan i-chi element ajratib olinib tayyor ketma-ketlikning kerakli joyiga
qo‘yiladi.
Pufakchaorqali saralash algoritmi quyidagicha bo‘ladi:
for (int i = n-1; i >= 1; i--)
{
for (int j = 0; j < i; j++)
{
if (a[j] > a[j+1])
{
swap(a[j],a[j+1]);
}
}
}
for (int i = 0; i < n; i++)
cout<
Tanlash orqali saralash algoritmi
Mazkur usul quyidagi tamoyillarga asoslangan:
1.
Eng kichik kalitga ega element tanlanadi.
2.
Ushbu element a
0
birinchi element bilan o‘rin almashinadi.
3.
Keyin
mazkur jarayon qolgan n-1, n-2 elementlar bilan