• Topilgan elementni ro‘yhat boshiga qo‘yish orqali
  • Qidiruv jadvalini qayta tartibga keltirish




    Download 238.5 Kb.
    bet4/7
    Sana24.02.2023
    Hajmi238.5 Kb.
    #43431
    1   2   3   4   5   6   7
    Bog'liq
    2-laboratoriya ishiii

    Qidiruv jadvalini qayta tartibga keltirish

    Umuman olganda, jadvalda har bir elementni qidirish ehtimolligini qandaydir bir qiymat bilan izohlash mumkin. Faraz qilaylik jadvalda qidirilayotgan element mavjud. U holda qidiruv amalga oshirilayotgan jadvalni diskret holatga ega tizim sifatida qarash mumkin hamda unda qidirilayotgan elementni topish ehtimolligi – bu tizim i-chi holati ehtimolligi p(i) deb olish mumkin.



    Jadvalni diskret tizim sifatida qaraganimizda, undagi taqqoslashlar soni diskret tasodifiy miqdorlar qiymatlarini matematik kutilmasini ifodalaydi.
    Z=Q=1*p(1)+2*p(2)+3*p(3)+…+n*p(n)
    Ma’lumotlar jadvalda quyidagi ko‘rinishda tartiblangan bo‘lishi lozim:
    p(1)p(2) p(3) …p(n).
    Bu shart taqqoslashlar sonini kamaytirib, samaradorlikni oshiradi. Sababi, ketma-ket qidiruv birinchi elementdan boshlanganligi uchun eng ko‘p murojaat qilinadigan elementni birinchiga qo‘yish lozim.
    Qidiruv jadvalini qayta tartibga keltirishning eng ko‘p ishlatiladigan ikkita usuli mavjud. Ularni bir bog‘lamli ro‘yhatlar misolida ko‘rib chiqamiz.

    1. Topilgan elementni ro‘yhat boshiga qo‘yish orqali qayta tartibga keltirish.

    2. Transpozitsiya usuli.



      1. Topilgan elementni ro‘yhat boshiga qo‘yish orqali

    qayta tartibga keltirish




    5.2-rasm. Ro‘yhatni qayta tartibga keltirish

    Topilgan element 5.2-rasmdagidek birdaniga ro‘yhat boshiga joylashtiriladi. Tuzilmadan har safar birorta element izlab topilsa va u ro‘yhat boshiga olib borib qo‘yilaversa, natijada oxirgi izlangan elementlar ro‘yhat boshiga joylashib qoladi va biz oxirgi vaqtlarda izlangan elementlarni tez izlab topish imkoniga ega bo‘lamiz.
    Boshida q ko‘rsatkich bo‘sh, p esa ro‘yhat boshini ko‘rsatadi; p ikkinchi elementni ko‘rsatganda, q birinchini ko‘rsatadi. Ro‘yhat boshi ko‘rsatkichi (table) birinchi elementni ko‘rsatadi. Ro‘yhatda key kalitli element topilsa, u p ko‘rsatkich bilan, undan oldingi element esa q ko‘rsatkich bilan belgilanadi. Shu topilgan p elementni ro‘yhat boshiga joylashtiriladi.
    Dastur kodi
    node *q=NULL;
    node *p=table;
    while (p !=NULL){
    if (key == p->k){
    if (q == NULL) { //o‘rinlashtirish shart emas
    search = p;
    exit(0);
    }
    q->nxt = p->nxt;
    p->nxt = table;
    table = p;
    exit(0);
    }
    q = p;
    p = p->nxt;
    }
    search = NULL;

    exit(0);




      1. Download 238.5 Kb.
    1   2   3   4   5   6   7




    Download 238.5 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Qidiruv jadvalini qayta tartibga keltirish

    Download 238.5 Kb.