• Toshkent 2022 Mavzu: Qidiruv usullarini tadqiq qilish
  • Teng bo‘lish orqali qidiruv (ikkilik qidiruv) algoritmi
  • Variant raqami 2.
  • Texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi




    Download 269.32 Kb.
    Sana19.08.2023
    Hajmi269.32 Kb.
    #79030
    Bog'liq
    2-amaliy ish MA (2)
    Ajurli arra metodı Jalgasova Nawbaxar 3A-FA, kop kurash, пр3, sinov qurilmalari, neft mahsulotlarining texnologiyasi yigish tayyorlash saqlanishi va jonatilishi (1), yFRsdVz5fCS7snDLMuyGKYbZJpNh1UijzMahg3AL, Zebiniso Jumanyozova, Fan oliy va professional ta’limda mutaxassislik fanlarini o’qit, Мош ва кунжут экилиши бўйича тасдиқлангани, Taqdimot (7), 368952 (1), Computer-2-test-(yakuniy), fan to\'garak hisoboti, Kompyuter operatori (2)



    O‘ZBEKISTON RESPUBLIKASI AXBOROT
    TEXNOLOGIYALARI VA
    KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
    MUHAMMAD AL-XORAZMIY NOMIDAGI
    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI


    Ma‘lumotlar tuzilmasi va algoritmlar
    2-Amaliy ish
    Bajardi: Abdusattorov A

    Tekshirdi: Bo’riyev Y




    Toshkent 2022

    Mavzu: Qidiruv usullarini tadqiq qilish


    Ishdan maqsad: talabalar berilgan tuzilmaning shakliga qarab biror kalitga mos elementni qidirishning optimal usulini qo’llashni o’rganishlari va qidiruv usullarining samaradorligini taqqoslashlari kerak.
    Teng bo‘lish orqali qidiruv (ikkilik qidiruv) algoritmi
    Faraz qilaylik, o’sish tartibida tartiblangan sonlar massivi berilgan bo’lsin. Ushbu usulning asosiy g’oyasi shundan iboratki, tasodifiy qandaydir AM element olinadi va u X qidiruv argumenti bilan taqqoslanadi. Agar AM=X bo’lsa, u holda qidiruv yakunlanadi; agar AM bo’lsa, u holda indekslari M dan kichik yoki teng bo’lgan barcha elementlar kelgusi qidiruvdan chiqarib yuboriladi. Xuddi shuningdek, agar AM >X bo’lsa, u holda indekslari M dan katta bo’lgan barcha elementlar kelgusi qidiruvdan chiqarib yuboriladi.
    M ixtiyoriy tanlanganda ham taklif qilinayotgan algoritm korrekt ishlaydi. Shu sababali M ni shunday tanlash lozimki, tadqiq qilinayotgan algoritm samaraliroq natija bersin, ya’ni uni shunday tanlaylikki, iloji boricha kelgusi jarayonlarda ishtirok etuvchi elementlar soni kam bo’lsin. Agar biz o’rtacha elementni, ya’ni massiv o’rtasini tanlasak yechim mukammal bo’ladi. Misol uchun butun sonlardan iborat, o’sish bo’yicha tartiblangan massivdan ikkilik qidiruv usuli yordamida key kalitga mos elementni izlash dasturini ko’rib chiqamiz.
    Dastur kodi:

    #include


    using namespace std;
    int main(){
    int n;cout<<"n=";cin>>n;
    int k[n];
    for(int i=0;i>k[i];
    int key, search;
    cout<<"qidirilayotgan elementni kiriting=";cin>>key;
    int low = 0;
    int hi = n-1; int j=0;
    while (low <= hi){
    int mid = (low + hi) / 2;j++;
    if (key == k[mid]){
    search = mid;
    cout<<"qidirilayotgan element "<system("pause");
    exit(0);
    }
    if (key < k[mid])
    hi = mid - 1;
    else low = mid + 1;
    }
    search=-1;
    cout<system("pause");
    }
    Dastur natijasi:
    n=6
    1 2 3 4 5 6
    qidirilayotgan elementni kiriting=6
    qidirilayotgan element 6 o'rinda turibdi va u 3 ta solishtirishda toplidi
    Variant raqami 2.
    Savol:
    Ketma-ket qidiruv usulidan foydalanib , ro’yxatda berilgan kalitdan katta elementlarni toping.
    Dastur kodi:

    #include


    #include
    #define mp make_pair
    using namespace std;

    struct node{


    int info;
    node*next;
    };

    int main(){


    node*lst=NULL;
    node*last=NULL;
    cout<<"Ro'yxatning elementlari sonini kiriting: ";
    int n,i=0; cin>>n;
    while(n--){
    int x; cin>>x;
    node*p=new node;
    p->info=x;
    p->next=NULL;
    if(lst==NULL){
    lst=p;
    last=p;
    }else{
    last->next=p;
    last=p;
    }
    }
    int s;
    cout<<"Qidiruvni amalga oshirish uchun son kiriting: "; cin>>s;
    vector
    >a;
    node*c=new node; c=lst;
    while(c){
    if(c->info>s){
    a.push_back(mp(i,c->info));
    }
    c=c->next;
    i++;
    }
    cout<<"Berilgan "<for(pairi:a){
    cout<}
    return 0;
    }
    Dastur natijasi:


    Xulosa:


    Men bu amaliy ishda ketma ket qidiruv usulidan foydalanib kalitdan katta elementlarni topuvchi dastur tuzdim . Bu usulda kalitni harbir elementga taqqoslash orqali kalitdan katta elementlarni topishi kerakligini bilib oldim . Agar to’plam saralanmagan bo’lsa u xolda biz ketma-ket qidiruv algoritmidan ham foydalanishimiz kerak bo’ladi.

    Download 269.32 Kb.




    Download 269.32 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi

    Download 269.32 Kb.