HAQIQIY IKKILIK QIDIRUV
“ALGORITM VA MA’LUMOTLAR STRUKTURASI” FANIDAN “HAQIQIY IKKILIK QIDIRUV” MAVZUSIDA TAYYORLAGAN KURS ISHI
Mundarija Kirish…………………………………………………………………………….3 I.Asosiy qism 1.1.Graflar va ularning tasvirlanishi…………………………………………..4 1.2.Daraxt va ularni turlari………………………………………………….…11 1.3.Haqiqiy ikkilik qidruv algoritimi……………………………………...…..15 II. Dasturlashga oid 2.1.C++ dasturlash tilida ikkilik qidiruv algoritmi……………………………28 III.Xulosa………………………………………………………………………...34 IV.Foydalanilgan adabiyotlar……………………………………..………….…35 2
Kirish Qidiruv vazifasi dasturlashda eng keng tarqalgan vazifalardan biridir. Shuningdek, u ko'rib chiqilayotgan narsaning qo'llanilishini namoyish qilish uchun ajoyib imkoniyatdir. Qidiruv tizimi hamma sohada ishlatilishi sababli ma'lumotlar tuzilmalari kompyuterda bajarish ancha oson bo’ladi. Kompyuterda ma’lumotlarni topish maqsadida maxsus kod kiritilgan kompyuterga shu bilan bir qatorda global qidiruv tizimida ham huddi shu maqsadda va shunga o’xshash kod kiritilgan. Qidiruv mavzusida bir nechta asosiy o'zgarishlar mavjud va bu yerda % bilan ko'plab algoritmlar ishlab chiqilgan. Biz qiladigan asosiy taxmin quyidagi ma'lumotlar to'plami bo'lib, unda % qidiriladi. Berilgan qiymat belgilangan. Biz bu N elementlar to'plami deb faraz qilamiz massiv bilan ifodalanadi, deylik element Ob'ektlar odatda yozuvlar bo'lib, ularning maydonlaridan biri rol o'ynaydi kalit. Keyin vazifa kalit maydoni teng bo'lgan elementni topishdir berilgan x qiymati, shuningdek, qidiruv argumenti deb ataladi. Topilgan shartini qanoatlantiruvchi i indeksi boshqasiga murojaat qilishimizga imkon beradi. topilgan elementning maydonlari. Bizni faqat% ni topish muammosi qiziqtirgani uchun lekin qidiruv qilingan ma'lumotlar emas, biz buni taxmin qilamiz Element turi faqat kalitdan iborat, ya'ni uning o'zi kalit. Lineer qidiruv Agar ma'lumotlar haqida qo'shimcha ma'lumot bo'lmasa, unda aniq yechim% nie - qiymatni bosqichma-bosqich oshirib, massivdan ketma-ket o'ting massivning kerakli qiymat aniq bo'lmagan qismi. Bu yechim ma'lum% Stno chiziqli qidiruv sifatida. Qidiruv ikkita shartdan birida to'xtatiladi: 1. Element topildi, ya'ni ai = x. 2. Butun massiv skanerdan o‘tkazildi, lekin element topilmadi. 3
Asosiy qism Graflar va ularning tasvirlanishi Graflar nazariyasi haqida umumiy ma’lumotlar. 1736 yilda L. Eyler tomonidan o‘sha davrda qiziqarli amaliy masalalardan biri hisoblangan Kyonigsberg ko‘priklari haqidagi masalaning qo‘yilishi va yechilishi graflar nazariyasining paydo bo‘lishiga asos bo‘ldi. Kyonigsberg shahridagi Pregel daryosi ustida qurilgan yettita ko‘priklar joylashuvi 1- shakldagi qadimiy xaritada tasvirlangan va qurilishi tartibida 1, 2, 3, 4, 5, 6 va 7 raqamlar bilan belgilangan. Pregel daryosi Kyonigsberg shahrini o‘sha davrda to‘rtta , , va qismlarga bo‘lgan. Shaharning ixtiyoriy qismida joylashgan uydan chiqib yettita ko‘priklardan faqat bir martadan o‘tib, yana o‘sha uyga qaytib kelish mumkinmi? Kyonigsberg ko‘priklari haqidagi bu masalani hal qilish jarayonida graflarda maxsus marshrut (hozirgi vaqtda graflar nazariyasida bu marshrut Eyler sikli nomi bilan yuritiladi, mavjudligi shartlari ham topildi. Bu natijalar e’lon qilingan tarixiy ilmiy ishning birinchi sahifasi 2- shaklda keltirilgan. L. Eylerning bu maqolasi yuz yildan ko‘p vaqt mobaynida graflar nazariyasi bo‘yichayagona ilmiy ish bo‘lib keldi. XIX asrning o‘rtalarida graflar nazariyasi bilan bog‘liq tadqiqotlar G. Kirxgof va A. Keli ishlarida paydo bo‘ldi. “Graf” iborasi D. Kyonig tomonidan 1936 yilda graflar nazariyasiga bag‘ishlangan dastlabki darslikda uchraydi. Graflar nazariyasi bo‘yicha tadqiqotlar natijalari inson faoliyatining turli sohalarida qo‘llaniladi. Ulardan ba’zilari quyidagilardir: boshqotirmalarni hal qilish; qiziqarli o‘yinlar; yo‘llar, elektr zanjirlari, integral sxemalari va boshqarish sistemalarini loyihalashtirish; avtomatlar, blok-sxemalar va komp’yuter uchun programmalarni tadqiq qilish va hokazo. Grafning abstrakt ta’rifi va u bilan bog‘liq boshlang‘ich tushunchalar. Avvalo, grafning abstrakt matematik tushuncha sifatidagi ta’rifini va boshqa ba’zi sodda tushunchalarni keltiramiz. qandaydir bo‘shmas to‘plam bo‘lsin. 4
Uning va elementlaridan tuzilgan ko‘rinishdagi barcha juftliklar (kortejlar) to‘plamini (to‘plamning o‘z-o‘ziga Dekart ko‘paytmasini) bilan belgilaymiz. Bundan buyon grafni belgilashda yozuv o‘rniga yozuvdan foydalanamiz. Grafning tashkil etuvchilarini ko‘rsatish muhim bo‘lmasa, u holda uni lotin alifbosining bitta harfi, masalan, bilan belgilaymiz. graf berilgan bo‘lsin. to‘plamning elementlariga grafning uchlari , to‘plamning o‘ziga esa, graf uchlari to‘plami deyiladi. Graflar nazariyasida “uch” iborasi o‘rniga, ba’zan, tugun yoki nuqta iborasi ham qo‘llaniladi. Umuman olganda, hanuzgacha graflar nazariyasining ba’zi iboralari bo‘yicha umumiy kelishuv qaror topmagan. Shuning uchun , bundan keyingi ta’riflarda, imkoniyat boricha, muqobil (alternativ) iboralarni ham keltirishga harakat qilamiz. grafning ta’rifiga ko‘ra, bo‘sh kortej bo‘lishi ham mumkin. Agar bo‘sh bo‘lmasa, u holda bu kortej ( , ) ko‘rinishdagi juftliklardan 2 tashkil topadi, bunda bo‘lishi hamda ixtiyoriy juftlik kortejda istalgancha marta qatnashishi mumkin. juftlikni tashkil etuvchi va uchlarning joylashish tartibidan bog‘liq holda, ya’ni yo‘nalishning borligi yoki yo‘qligiga qarab, uni turlicha atash mumkin. Agar juftlik uchun uni tashkil etuvchilarning joylashishya’ni bo‘lsa, juftlikka yo‘naltirilmagan ( oriyentirlanmagan ) qirra (yoki, qisqacha, qirra ) deyiladi. Agar bu tartib muhim, ya’ni bo‘lsa, u holda juftlikka yoy yoki yo‘naltirilgan ( oriyentirlangan ) qirra deyiladi. kortejning tarkibiga qarab, uni yo grafning qirralari korteji , yo yoylari korteji , yoki qirralari va yoylari korteji deb ataymiz.Grafning uchlari va qirralari (yoylari) uning elementlari deb ataladi. graf elementlarining soni ( )ga tengdir, bu yerda grafning uchlari soni va bilan uning qirralari (yoylari) soni belgilangan. Grafning qirrasi (yoyi), odatda, uni tashkil etuvchi uchlar yordamida , yoki , yoki ko‘rinishda belgilanadi. Boshqa belgilashlar ham ishlatiladi: masalan, yoy uchun yoki , qirra uchun , yoy yoki qirra uchun (ya’ni uchlari ko‘rsatilmasdan bitta harf vositasida) ko‘rinishda. Graf yoyi uchun uning chetki uchlarini ko‘rsatish tartibi muhim ekanligini ta’kidlaymiz, ya’ni va yozuvlar 5