Ishdan maqsad Ushbu laboratoriya ishining maqsadi talabalar saralash va qidirishning qanday usullari va algoritmlari mavjudligini, ularning samaradorliklarini baholashni o`rganishlari kerak. Shu asosda saralash va qidirish usullarini qiyosiy tahlil qilishlari va ularga oid dasturlar tuzishni o`zlashtirishlari kerak.
Nazariy qism Malumotlarni saralash amalga oshiriladi. Demak, saralash lumotlarni kalitlari bo`yicha doimiy ko`rinishda mashina xotirasida joylashtirishdan iborat. Bu yerda doimiylik malumotlarga qayta ishlov berilayotganda ma tashqi xotirada saralash.
Agar saralanayotgan yozuvlar xotirada katta hajmni egallasa, u holda ularni almashtirishlar katta sarf (vaqt va xotira ma`nosida) talab qiladi. Ushbu sarfni kamaytirish maqsadida, saralash kalitlar adresi jadvalida amalga oshiriladi. Bunda faqatgina ma taqqoslashlar soni. Agar n < 1000 bo`lsa, u holda ikkinchi qo`shiluvchi katta, aks holda ya`ni, n > 1000 bo`lsa, birinchi qo`shiluvchi katta bo`ladi. Demak, kichkina n larda taqqoslashlar soni n ga teng bo`ladi, katta n larda esa n2 ga teng bo`ladi.
Saralashning quyidagicha usullari bor:
qatrinishda boylash orqali biz saralash algoritmini tuzib oldik. Demak saralash algoritmlari bu rin almashtirishlarni tartibli kokattatkaziladi.
11 25 12 22 64
//Huddi shu ketma-ketlikda jarayon massiv oxirgi elementigacha davom etadi
11 12 25 22 64
11 12 22 25 64
11 12 22 25 64
Algoritm samaradorligi:
Taqqoslashlar soni
Massiv tartiblanganda o'rinlashtirishlar soni
Massiv teskari tartiblanganda o'rinlashtirishlar soni
Ushbu usul bo'yicha saralash bajarilsa, eng yomon holda taqqoslashlar va o'rinlashtirishlar soni tartibi n2 bo'ladi.
Ushbu algoritmning blok sxemasi quyidagi koBubble sortlumotlar chiqarilsin.
Avtomobillarni ta`mirlash tartibi ishlab chiqilsin. Bu yerda ta`mir tugashi sanasi qaysi avtomobil uchun ertaroq bo`lsa, shunga birinchi navbatda xizmat ko`rsatiladi.
Oldingi ta`mir qilinganlar soni 2 ga teng bo`lgan mashinalar raqamlari bo`yicha kamayish tartibida joylashtirilsin.
Oldin ta`mir qilinmagan mashinalarni ta`mirdan chiqish sanasi bo`yicha o`sish tartibida joylashtiring.
"Mersedes" markali mashina egalarini alifbo bo`yicha teskari tartibda joylashtiring.
Boshqalaridan oldinroq ta`mirlanadigan mashinalarni ularning markasi bo`yicha alifbo tartibida joylashtiring (ta`mir tugatilishi sanasi 31.12.2019 dan erta).
"Nexia" markasidagi mashinalarni raqamlari bo`yicha o`sish tartibida joylashtiring.
O`tgan yildan beri ta`mirlanmagan mashinalarni ularning egalari ismlari bo`yicha alifbo tartibida joylashtiring.
Keyingi oyda ta`mirlanishi lozim bo`lgan mashinalarni oxirgi marta ta`mirlanganlik sanasi bo`yicha o`sish tartibida keltiring.
"Mersedes" markasidagi mashinalarni raqamlari bo`yicha kamayish tartibida joylashtiring.
Talabalar familiyalarini alifbo tartibida joylashtiring.
Talabalarni yoshi bo`yicha o`sish tartibida joylashtiring.
Talabalarni umumiy bali bo`yicha o`sish tartibida joylashtiring.
Talabalarni umumiy bali bo`yicha kamayish tartibida joylashtiring.