• 1.5. Topilgan elementni ro‘yhat boshiga qo‘yish orqali qayta tartibga keltirish
  • Dastur kodi
  • O‘zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti ma’lumotlar tuzilmasi va algoritmlar fanidan




    Download 372,29 Kb.
    Pdf ko'rish
    bet5/7
    Sana10.01.2024
    Hajmi372,29 Kb.
    #133740
    1   2   3   4   5   6   7
    Bog'liq
    Aliyev Samandar mta-2

    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 
    1.4. 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. 

    =
    =
    n
    1
    i
    1
    i
    )
    (


    1.5. Topilgan elementni ro‘yhat boshiga qo‘yish orqali
    qayta tartibga keltirish 
    2-rasm. Ro‘yhatni qayta tartibga keltirish 
    Topilgan element 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); 
     
     
     
     
     
     



    Download 372,29 Kb.
    1   2   3   4   5   6   7




    Download 372,29 Kb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O‘zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti ma’lumotlar tuzilmasi va algoritmlar fanidan

    Download 372,29 Kb.
    Pdf ko'rish