6-Amaliy mashg‘ulot: Ma’lumotlarni saralash algoritmlari va dasturlarini ishlab chiqish.
Ishdan maqsad: Ushbu amaliyot 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: Ixtiyoriy nomdagi ro’yxat elementlari e’lon qilinsin va ixtiyoriy qiymatlar bilan kiritilsin. Insert() funksiyasida foydalangan xolda qo’shimcha qiymatlar kiritilsin. push_front va push_back funksiyalaridan foydalanib 34 va 58 qiymatlar kiritilsin, natijalar ekranga chop etilsin.
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.
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.
Pufakcha orqali 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<
Amaliy qism:
7-Amaliy mashg‘ulot: Chiziqli ma’lumotlar tuzilmalarini qayta ishlash algoritmlari va dasturlarini tuzish.
Ishdan maqsad: Ushbu amaliyot ishining maqsadi talabalar ma’lumotlar tuzilmalarini qayta ishlash algoritmlari va dasturlarini tuzishni va va ularga oid dasturlar tuzishni o‘zlashtirishlari kerak.
Qo‘yilgan masala: Navbat konteyneri asosida push()funksiyasidan foydalanib 15,17,3,5,15,18 qiymatlar kiritilsin. Empty() funksiyasi orqali navbat bo’shligi tekshirilsin.
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.
Do'stlaringiz bilan baham: |