LABORATORIYA ISHI - 3
Mavzu: Saralash 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.
Nazriy qisim: 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:
Eng kichik kalitga ega element tanlanadi.
Ushbu element a0 birinchi element bilan o‘rin almashinadi.
Keyin mazkur jarayon qolgan n-1, n-2 elementlar bilan takrorlanib, to bitta eng “katta” element qolguncha davom ettiriladi.
for(int i=0;i
for(int j=i+1;j
Dostları ilə paylaş: |