Matritsa qidiruv algoritmlari
O’zbekiston Respublikasi Oliy ta’lim, fan va innovatsiyalar vazirligi Sharof Rashidov nomidagi SAMARQAND DAVLAT UNIVERSITETI INTELLEKTUAL TIZIMLAR VA KOMPYUTER TEXNOLOGIYALARI FAKULTETI Dasturiy injiniring yo’nalishi 104-guruh talabasi Toshtemirov Isrofilning Algoritm va ma’lumotlar strukturasi fanidan “Matritsa qidiruv algoritmlari” mavzusida tayyorlagan KURS ISHI Tekshirdi:____________________ Samarqand 2023-yil 1
MUNDARIJA Kirish……………………………………………………………………………….3 1. Algoritm va ma’lumotlar strukturasi fanining mazmuni va vazifalari…………..4 2.Algoritm haqida…………………………………………………………………..5 3.Qidiruv algoritmlari………………………………………………………………7 4.Matritsa…………………………………………………………………………...9 5.Matritsa qidiruv algoritmi………………………………………………………10 6.Matritsa qidiruv algoritmi afzalliklari va kamchiliklari…………………………. 7. 6.Xulosa…………………………………………………………………………26 7.Foydalanilgan adabiyotlar………………………………………………………27 2
Kirish. Yangi XXI - asrda axborot texnologiyalari hayotimizning turli jabhalariga kirib borishi axborotlashgan jamiyatning shakllantirishga zamin yaratib bermoqda. "Internet", "Elektron pochta", "Elektron ta'lim", "Elektron boshqaruv", "Elektron hukumat", "Masofaviy ta'lim", "Ochiq ta'lim", "Axborotlashgan iqtisod" kabi tushunchalar hayotimizga kirib kelishi jamiyatimizning axborotlashishiga intensiv ta'sir ko`rsatmoqda. Axborot – kommunikatsiyalari orqali mamlakatlarning milliy iqtisodi globallashib, axborotlashgan iqtisod shakliga o'tmoqda, ya'ni milliy iqtisoddagi axborot va bilimlarning atilgan axborot va bilimlarning 90 % so'nggi 30 yil mobaynida yaratilgan bo'lib, ular hajmining ko'payib borishi axborot- kommunikatsiyalaridan samarali foydalanishni talab etmoqda. Ko'plab mamlakatlar o'zlarining istiqboldagi rivojlanishini axborotkommunikatsiyalari asosida yo'lga qo'yishni anglab yetishgan. Mustaqil O'zbekiston Respublikamizda ham jamiyatni axborotlashtirish, kompyuter ilmini o‘qitishni rivojlantirish bo'yicha Qonunlar qabul qilinib, ular asosida bir qator dastur va tadbirlar amalga oshirib kelinmoqda. Jumladan, O'zbekiston Respublikasi Prezidentining «Axborotlashtirishni yanada rivojlantirish to'g'risida» 2002 - yil 30 - maydagi PF- 3080- son Farmoni asosida 2010- yilgacha Axborot-kommunikatsiyalarini rivojlantirish bo'yicha milliy dastur ishlab chiqilgan bo'lib, u hozirda butun respublikamiz milliy iqtisodiyotning turli tarmoqlari va sohalarida tatbiq qilinmoqda. Algoritm va ma’lumotlar strukturasi fani Hozirgi kunda biror bir sohada ishni boshlash va uni boshqarishni kompyutersiz tasavvur qilish qiyin. XXI asr savodxon kishisi bo’lishi uchun kompyuter savodxon bo’lish, axborot texnologiyalarini puxta egallamoq lozim. Har bir mutaxassis, u qaysi sohada ishlashdan qat’iy nazar, o’z vazifasini zamon talabi darajasida bajarishi uchun axborotni ishlab chiqaruvchi vositalar va ularni ishlatish uslubiyotini bilish va ishlash ko’nikmalarga ega bo’lishi zarur. Talabalarni ijtimoiy-iqtisodiy va ma’naviy muammolarni hal etishga safarbar qilmoq uchun tegishli axborotlarni o’z vaqtida to’plab, qayta ishlab, muayyan bir tartibga solish va zudlik bilan kishilarga etkazish kerak bo’ladi. Buning uchun jamiyatni axborotlashtirish dasturini amalga oshirish va ilg’or axborot texnologiyasini joriy etish zarurdir. Dasturlarni mustaqil tuzishdan 3
maqsad kompyut е rga mutloq xokimlik qilish, ya’ni ish davomida yuzaga k е ladigan muammolarni t е zroq hal etish imkonini yaratishdir. Kompyut е r dasturlari s е rm е hnat ishlarni avtomatlashtiradi, xatolarni kamaytiradi va m е hnat unumdorligini oshiradi. Bundan tashqari, dasturlar tuzish juda ham mashg’ulotdir. Dasturlarni yaratish jarayonida qo’yilgan masalaning yechish algoritmi dastlab to’g’ri ishlab chiqilishi muhim axamiyatga ega. Shuning uchun algoritmlarni tuzish va dasturlarni ishlab chiqish bir-biri bilan chambarchas bog’liq jarayonlardir. Oliy o’quv yurtlarining informatika, axborot t е xnologiyalari, amaliy mat е matika kabi yo’nalishlarida ta’lim olayotgan talabalar algoritmni ishlab chiqish, dasturlar yaratish, ularni sinash, sozlash, tahlil qilish uchun bilimlarni puxta o’zlashtirishlari zarur. Bunda, ta’lim oluvchi uchun dasturlarni ishlab chiqishda asosiy va eng muhim bosqich hisoblangan algoritmlarni tuzish va shular asosida dasturlar yaratish haqida ma’lumotlarni b е ruvchi adabiyotlar k е rak. Ma’ruzalar matni Oliy o’quv yurtlari talabalari uchun mo’ljallab yozilgan va zamonaviy kompyut е r t е xnologiyalarini mustaqil ravishda o’rganayotgan barcha qiziquvchilar uchun ham foydalidir. Algoritm tushunchasi zamonaviy matematika va informatikaning asosiy tushunchalaridan biri hisoblanadi. Algoritm termini o’rta asrlar ulug’ matematigi al- Xorazmiy nomidan kelib chiqqan. XX asrning 30- yiligacha algoritm tushunchasi ko’proq matematik ma’no emas, balki metodologik ma’noni kasb etar edi. Algoritm deganda, u yoki bu masalalar sinfini yechish imkonini beruvchi aniq ifodalangan chekli qoidalar majmui tushunilgan. EHM larning paydo bo’lishi bilan algoritm tushunchasi yanada keng tarqaldi. EHM va dasturlash usullarining rivojlanishi algoritmlarni ishlab chiqish avtomatlashtirishdagi zaruriy bosqich ekanligini tushunishga yordam berdi. EHM larning paydo bo’lishi algoritmlar nazariyasining rivojlanishiga olib keldi. Algoritmlarni tuzish – bu ijodiy ish bo’lib, 4
ixtiyoriy zaruriy algoritmni tuzish uchun umumiy usullar mavjud emas, kishining ijodiy qobiliyatiga bog’liq. Albatta, algoritmni aniq sxema bo’yicha tuzish zarur bo’lib qoladigan sodda hollar ham mavjud. Bunday hollarda yechilish algoritmi avval biron kim tomonidan olingan masalalarni misol keltirish mumkin. Algoritm Algoritmlarning turli ta’riflari mavjud. Rasmiy ta’riflardan biri bo’yicha algoritm bu qo’yilgan masalani bir xil yechilishiga olib keluvchi aniq harakatlarning ketma-ketligi. Bu tushunchadan algoritmning quyidagi xossalari kelib chiqadi: 1. Diskretlilik – ya’ni aniqlanayotgan jarayonni qadamba-qadam ko’rinishi. 2. Ommaviylik – algoritm o’xshash masalalar turkumini yechishi kerak. 3. Tushunarlilik – algoritmda beriladigan ko’rsatmalar foydalanuvchiga tushunarli bo’lib, uning talablariga javob berishi kerak. 4. Aniqlilik – algoritmda ma’lum tartibda amallarni bajarish nazarda tutilishi kerak va bajaruvchiga joriy qadam tugatilishi bilan qaysi qadam keyingi bo’lib bajarilishi aniq ko’rsatilishi kerak. Algoritmlar rasmiy ravishda bajariladi, bu degani bajaruvchi ajarilayotgan amallarni mazmunini anglash shart emas. Algoritm tuzish jarayoniga algoritmlashtirish deyiladi. Algoritm tuzish jarayonida nazariy va amaliy nuqtai nazardan algoritmlash, dasturlash va EHM larni qo’llash bilan bog’liq bo’lgan bilimlar kerak. Asosiy maqsad bu masalani qo’yish, masalaning yechish algoritmini tuzish, algoritmi mashina dasturi ko’rinishida amalga oshirish va algoritmni samaradorligini ko’rsatish uammolarini o’rganish. Bu jarayonlar algoritmni to’liq yaratish tushunchasiga olib keladi va quyidagi bosqichlarni belgilaydi: 1. Masalaning qo’yilishi. 2. Modelni yaratish. 3. Algoritmni ishlab chiqish. 4. Algoritm to’g’riligini tekshirish. 5. Algoritmni amalga oshirish. 6. Algoritmni va ularning murakkabligini tahlil qilish. 5