Reja: Ma'lumotlarni qidirish. Chiziqli qidiruv. Binar qidiruv. Chiziqli va binar qidiruv usullarining farqlari va afzalliklari. Xulosa. Foydalanilgan adabiyotlar. Ma'Lumotlarni qidirish
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Malumotlar tuzilmasi va algoritmlar fanidan 711-19 guruh talabasi No'monjonov Samandarning “Chiziqli va binar qidirish usullarini tadqiq qilish”mavzusi bo`yicha tayyorlagan taqdimoti
Reja:
1. Ma'lumotlarni qidirish.
2.Chiziqli qidiruv.
3.Binar qidiruv.
4.Chiziqli va binar qidiruv usullarining farqlari va afzalliklari.
Kompyuterda ma'lumotlarni qayta ishlashda qidiruv asosiy amallardan biri hisoblanadi. Uning vazifasi berilgan argument bo'yicha massiv ma'lumotlari ichidan mazkur argumentga mos ma'lumotlarni topish yoki bunday ma'lumot yo'qligini aniqlashdan iborat.
Ta'rif: Agar kalitlar malumotlar jadvalidan ajratib olinib alohida fayl sifatida saqlansa, u holda bunday kalitlar tashqi kalitlar deyiladi. Aks holda, ya'ni yozuvning bir maydoni sifatida jadvalda saqlansa ichki kalit deyiladi. Ma’lumotlarni qidirish algoritmlari bu – to’plam ma’lumotlar orasidan ma’lum bir kalit so’zga mos keluvchi elementlarni qidirshga aytiladi. Hozirgi davrda qidiruv algoritmlarisiz ishaydigan IT tizimlar deyarli mavjud emas.
Ma’lumotlarni qidirish algoritimlari odatda ikki toifaga bo’linadi bular quyidagilar:
Tarkibiy qidiruv: Bunda ro'yxat yoki qator ketma-ket o'tkaziladi va har bir element tekshiriladi. Masalan, Chiziqli qidiruv.
Intervalli qidirish: Ushbu algoritmlar maxsus ajratilgan ma'lumotlar tuzilmalarida qidirish uchun mo'ljallangan. Ushbu turdagi qidiruv algoritmlari Linear Search-ga qaraganda ancha samaralidir, chunki ular qayta-qayta qidiruv tuzilmasi markaziga yo’naladi va qidiruv maydonini ikkiga bo’ladi. Masalan, Binar qidiruv.
CHIZIQLI QIDIRUV
Chiziqli qidiruv tarkibiy qidiruvga misol bo'ladi.
Aytaylik bizga massiv berilgan:
A={1,2,3,4,5,6,7,8,9,10} Bizga ushbu massivda biron bir element bor yoki yo'qligini tekshira oladigan algoritm tuzish sharti qo'yilgan.Ushbu masalani yechishda eng birinchi hayolga keladigan usul - bu massivni ketma-ket har bir elementini solishtirib chiqish va bu usul: Chiziqli qidiruv - Linear Search deb ataladi.
Algoritm g'oyasi:Ma'lumotlar butun jadval bo'yicha operativ xotirada kichik adresdan boshlab, to katta adressgacha ketma-ket qarab chiqiladi.
BINAR QIDIRUV Binar qidiruvning asosiy g'oyalaridan biri ketma-ket ikkiga bo'lishga asoslanadi, ya'ni berilgan x ni massivning o'rtadagi elementi bilan solishtiradi, agar katta bo'lsa oxiri va o'rtasi orasidagi massivni oladi, agar kichkina bo'lsa boshi va o'rtasi orasidagi massivni oladi, va har safar shu jarayon takrorlanib boradi toki x element solishtirilayotgan massivning elementga teng bo'lgunicha yoki massivning elementlari qolmaguncha.
Funksiyaga berilayotgan massiv Binar qidiruv uchun albatta o'sish tartibida bo'lishi talab qilinadi, chiziqli qidiruv uchun esa berilayotgan massiv qay tartibda bo'lishini ahamiyati yo'q.
Chiziqli qidiruvda elementlarni bittalab har birini tekshiriladi, binarda esa algoritmidan kelib chiqib chiziqliga nisbatan ancha kam solishtirish amali bajariladi.
Chiziqli qidiruvning ishlash vaqti ko'pi bilan O(n) va binar qidiruvniki ko'pi bilan O(log n). Elementni qidirishda solishtirish jarayoni ham ikki xil bo’ladi. Chiziqli qidirish algoritmi faqat tenglikka asoslanadi. Ikkilik qidirish esa tenglik, katta yoki kichiklikka qarab, o’z ishini davom ettiradi.
Chiziqili qidirish algoritmi elementni array boshidan tartib bilan qidiradi. Ikkilik qidirish algoritmida esa bu jarayon array o’rtasidan boshlanib turlicha davom etishi mumkin.
Dasturlashda bu jarayon tasodifiy elementga murojaat (random access) deb ataladi.
XULOSA Ko'rib turganimizdek, ikkilik qidirish chiziqli qidirishdan ko'ra samaralidir, chunki har safar biz qolgan massivning yarmini qidirishimiz kerak.
Ikkilik qidirish algoritmi ishlashi uchun array saralangan bo’lishi shart. Chiziqli qidirish algoritmida esa bu narsaga hojat yo’q. Aynan shu jihati bilan chiziqli qidirish algoritmi ikkilik qidirishdan ko’ra ustunlik qilishi mumkin. Chunki ba’zi holatlarda ma’lumot saralanmagan bo’lishi va uni saralash ko’proq vaqt olib qo’yishi mumkin.
Vikipediyaga ko'ra, o'rash uchun: kompyuter fanida algoritmlarni kirish vaqti kattalashgan sari ularning ishlash vaqti yoki makon talablariga qarab tasniflash uchun katta O yozuvi ishlatiladi. Bu funktsiyalarni o'sish sur'atlariga ko'ra tavsiflaydi. Shunday qilib, chiziqli qidirish uchun, massivning kattalashishi bilan ishning eng murakkab holati O (n) bo'ladi.