• 11.1. Binar uyum (kucha) - piramida (binary heap)
  • 50-rasm. Binar uyum (kucha)
  • H[1..10] ustuvorliklar (kalitlar) massivi
  • Samarqand davlat universiteti o. R. Yusupov, I. Q. Ximmatov, E. Sh. Eshonqulov




    Download 4,61 Mb.
    Pdf ko'rish
    bet84/111
    Sana18.05.2024
    Hajmi4,61 Mb.
    #241929
    1   ...   80   81   82   83   84   85   86   87   ...   111
    Bog'liq
    ALGORITMLAR VA MA‟LUMOTLAR STRUKTURALARI

    Ustivor
    navbat
    - bu yozuvlar bir-biri bilan chiziqli taqqoslanadigan 
    kalitlarga (masalan, raqamlar) ega bo'lgan va ikkita amalni realizatsiya 
    qiladigan axborot tizimidir. Bu ikki amal tizimga tasodifiy yozuvni 
    kiritish va yozuv tizimidan eng kichigi bilan tanlov kalit.
    Dasturiy ta'minot tizimlarida ustivor navbatlar juda keng tarqalgan 
    va dasturlarning ishlashi to'gʻridan-to'gʻri ularni amalga oshirish 
    samaradorligiga bogʻliq. 
    Ustivorda navbatda qoʻllab-quvvatlanadigan amallar quyidagilar 
    hisoblanadi: 
    1)
    Insert - navbatga element qo'shish 
    2)
    Max - ustivorligi yuqori bo'lgan elementni qaytaradi 
    3)
    ExtractMax - navbatdagi eng ustivor elementni olib tashlaydi 
    4)
    IncreaseKey - berilgan elementning ustivor qiymatini o'zgartiradi 
    5)
    Merge - ikkita navbatni bittaga birlashtiradi 
    11.1. Binar uyum (kucha) - piramida (binary heap) 
    Binar 
    uyum 
    (binary 
    heap) 
    bu 
    quyidagi 
    shartlarni 
    qanoatlantiradigan binar daraxtdir: 
    - Har qanday uchning ustivorligi, uning avlodlarining ustivorligidan 
    kichik emas. 
    - Daraxt to'liq ikkilik daraxt boʻlishi uchun (complete binary tree) - 
    barcha darajalar chapdan o'ngga to'ldiriladi (oxirgisi bundan mustasno 
    boʻlishi mumkin). 


    142 
    50-rasm. Binar uyum (kucha) 
    Massivlar orqali binar uyum (kucha) ni realizatsiya qilish 
    16 14 10 8 






    O‟smaydigan piramida 
    max-heap 
    Har qanday uchning ustuvorligi 
    avlodlarning ustuvorligidan kichik 
    emas 
    Kamaymaydigan piramida 
    min-heap 
    Har qanday uchning ustuvorligi 
    avlodlarning ustuvorligidan katta 
    emas 
    H[1..10] ustuvorliklar (kalitlar) massivi 
    max-heap (10 ta element) 


    143 
    Daraxtning ildizi H [1] yacheykada saqlanadi - bu maksimal element; 
    tugunning ajdod indeksi: 
    𝑃 𝑡
    (
    )= [
    / 2]; 
    Chap avlod tugun indeksi: 
    𝑡

    Oʻng avlod tugun indeksi: Right(i) = 
    𝑃 𝑡
    .
    struct heapnode { 
    int key; /* kalit */ 
    char *value; /* qiymat*/ 
    }; 
    struct heap { 
    int maxsize; /* massiv oʻlchami */ 
    int nnodes; /* Kalitlar soni */ 
    struct heapnode *nodes; /* Nodes: [0..maxsize] */ 


    Download 4,61 Mb.
    1   ...   80   81   82   83   84   85   86   87   ...   111




    Download 4,61 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Samarqand davlat universiteti o. R. Yusupov, I. Q. Ximmatov, E. Sh. Eshonqulov

    Download 4,61 Mb.
    Pdf ko'rish