saralash algoritmalarini o'rganish

DOC 9 стр. 56,5 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 9
5-amaliy mashg’ulot mavzu: ma'lumotlarni saralash algoritmlari. saralash tushunchasi va uning vazifasi. saralashning qat’iy usullari va ularning samaradorligi amaliyoti. ishdan maqsad: ushbu laboratoriya ishining maqsadi talabalar qanday qidirish usullari va algoritmlari mavjudligini va ularning samaradorliklarini baholashni o’rganishlari kerak. shu asosda qidirish usullarini qiyosiy tahlil qilishlari, python dasturlash tilida qidirish bilan islashni va ularga oid dasturlar tuzishni o’zlashtirishlari kerak. qo’yilgan masala: talabalar topshiriq variantiga mos qidirish 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. python dasturlash muhitida dasturni yaratish; 4. natijalarni tekshirish; 5.hisobotni tayyorlash va topshirish. oddiy saralash algoritmlari 1. bubble sort (pufakcha saralash) 2. selection sort (tanlab saralash) 3. insertion sort (kiritib saralash) 1. bubble sort (pufakcha saralash) ushbu algoritm eng oddiy va tushunarli saralash usullaridan biri bo‘lib, har bir qo‘shni elementlarni solishtirib, ularni kerak bo‘lsa joyini almashtirib boradi. algoritm ishlash prinsipi: · ro‘yxat boshidan boshlanadi. …
2 / 9
hi element saralangan deb qabul qilinadi. · keyingi element olinib, o‘zining mos joyiga joylashtiriladi. · shu jarayon har bir yangi kiritilgan element uchun takrorlanadi. 1. bubble sort # boshlang‘ich ro‘yxat sonlar = [5, 3, 8, 1, 2] # biz saralashimiz kerak bo'lgan sonlar ro‘yxati # tashqi sikl: ro‘yxatning har bir elementiga qarab o'tamiz for i in range(len(sonlar) - 1): # ichki sikl: qo‘shni elementlarni taqqoslaymiz va almashtiramiz for j in range(len(sonlar) - i - 1): if sonlar[j] > sonlar[j + 1]: # agar oldingi element kattaroq bo‘lsa sonlar[j], sonlar[j + 1] = sonlar[j + 1], sonlar[j] # ularning joyini almashtiramiz # saralangan ro‘yxatni ekranga chiqarish print("saralangan ro‘yxat:", sonlar) qadamlar bo‘yicha tushuntirish boshlang‘ich ro‘yxat: [5, 3, 8, 1, 2] 1-chi aylanish (i = 0) · 5 va 3 taqqoslanadi → [3, 5, 8, 1, 2] · 5 va 8 taqqoslanadi → [3, 5, 8, 1, 2] (o‘zgarmaydi) · 8 va 1 …
3 / 9
print(sonlar) # natijani chiqaramiz oddiy tushuntirish 1. ikkinchi elementdan boshlab har bir sonni olib, oldingilar bilan taqqoslaymiz. 2. agar chapdagi son katta bo‘lsa, uni o‘ngga suramiz. 3. bo‘sh joy qolsa, tanlangan sonni o‘sha joyga qo‘yamiz. 4. shu tarzda oxirigacha davom etamiz. 1-qadam: [3, 5, 8, 1, 2] (3 o‘z joyiga qo‘yildi) 2-qadam: [3, 5, 8, 1, 2] (8 joyida qoldi) 3-qadam: [1, 3, 5, 8, 2] (1 o‘z joyiga qo‘yildi) 4-qadam: [1, 2, 3, 5, 8] (2 o‘z joyiga qo‘yildi ✅) topshiriqlar 1. supermarketda mahsulot qidirish (chiziqli qidiruv) vazifa: supermarketda har xil mahsulotlar bor. xaridor o‘z ro‘yxatidagi mahsulotni qidiradi. mahsulot mavjud bo‘lsa, uning narxi chiqariladi. python kod: def mahsulot_qidir(market, mahsulot): for nom, narx in market: if nom == mahsulot: return f"{mahsulot} mavjud, narxi: {narx} so'm" return f"{mahsulot} topilmadi." market = [("olma", 5000), ("banan", 12000), ("sut", 15000), ("non", 4000)] mahsulot = input("qaysi mahsulotni qidiryapsiz? ") print(mahsulot_qidir(market, mahsulot)) 2. telefon kontaktlaridan odam …
4 / 9
lif talabalar[o‘rta][1] < baho: chap = o‘rta + 1 else: o‘ng = o‘rta - 1 return f"{baho} ball olgan talaba yo‘q." talabalar = [("ali", 56), ("zarina", 67), ("bobur", 75), ("madina", 80), ("hasan", 91)] baholar = sorted(talabalar, key=lambda x: x[1]) baho = int(input("qidirilayotgan bahoni kiriting: ")) print(binar_qidiruv(baholar, baho)) 4. kinoteatrda joy qidirish (chiziqli qidiruv) vazifa: kinoteatrda joylar bor. foydalanuvchi nechanchi qator va nechanchi joyni so‘raydi. agar joy band bo‘lsa, boshqa joy tavsiya qilinadi. python kod: def joy_qidirish(zal, qator, joy): for q, j in zal: if q == qator and j == joy: return f"{qator}-qator, {joy}-joy band!" return f"{qator}-qator, {joy}-joy bo‘sh!" zal = [(1, 2), (2, 4), (3, 5), (4, 2)] # band bo‘lgan joylar qator = int(input("qatorni kiriting: ")) joy = int(input("joyni kiriting: ")) print(joy_qidirish(zal, qator, joy)) 5. kitobxon kutubxonadan kitob qidirishi (binar qidiruv) vazifa: kutubxonada kitoblar alfavit bo‘yicha saralangan. kitob nomi bo‘yicha binar qidiruv orqali qidiriladi. python kod: def binar_qidiruv(kutubxona, …
5 / 9
funksiya yaratish def mahsulot_qidir(market, mahsulot): bu qator mahsulot_qidir nomli funksiya yaratadi. market – supermarketdagi mahsulotlar ro‘yxati (har bir mahsulot nomi va narxini saqlaydi). mahsulot – foydalanuvchi qidirayotgan mahsulot nomi. 2. ro‘yxatda qidirish (chiziqli qidiruv) for nom, narx in market: market – bu mahsulotlarning ro‘yxati: [("olma", 5000), ("banan", 12000), ("sut", 15000), ("non", 4000)] har bir element (nom, narx) juftligi sifatida olinadi, masalan: ("olma", 5000) for tsikli ro‘yxat bo‘ylab har bir mahsulotni tekshiradi. 3. shart tekshirish if nom == mahsulot: agar ro‘yxatdagi mahsulot nomi (nom) foydalanuvchi qidirayotgan mahsulot (mahsulot) bilan bir xil bo‘lsa, demak mahsulot topildi. 4. natijani qaytarish return f"{mahsulot} mavjud, narxi: {narx} so'm" agar mahsulot topilgan bo‘lsa, uning narxini chiqaradi. return funksiyani tugatadi va natijani qaytaradi. agar mahsulot bo‘lmasa, tsikl tugaydi va quyidagi qator ishlaydi: return f"{mahsulot} topilmadi." bu foydalanuvchiga mahsulot yo‘qligini bildiradi. 5. dasturda ro‘yxat yaratish market = [("olma", 5000), ("banan", 12000), ("sut", 15000), ("non", 4000)] market - mahsulotlar …

Хотите читать дальше?

Скачайте все 9 страниц бесплатно через Telegram.

Скачать полный файл

О "saralash algoritmalarini o'rganish"

5-amaliy mashg’ulot mavzu: ma'lumotlarni saralash algoritmlari. saralash tushunchasi va uning vazifasi. saralashning qat’iy usullari va ularning samaradorligi amaliyoti. ishdan maqsad: ushbu laboratoriya ishining maqsadi talabalar qanday qidirish usullari va algoritmlari mavjudligini va ularning samaradorliklarini baholashni o’rganishlari kerak. shu asosda qidirish usullarini qiyosiy tahlil qilishlari, python dasturlash tilida qidirish bilan islashni va ularga oid dasturlar tuzishni o’zlashtirishlari kerak. qo’yilgan masala: talabalar topshiriq variantiga mos qidirish 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. python dasturlash m...

Этот файл содержит 9 стр. в формате DOC (56,5 КБ). Чтобы скачать "saralash algoritmalarini o'rganish", нажмите кнопку Telegram слева.

Теги: saralash algoritmalarini o'rgan… DOC 9 стр. Бесплатная загрузка Telegram