• Quiksort – tez saralash algoritmi
  • Zbekiston respublikasi aloqa, axborotlashtirish va telekommunikatsiya




    Download 490,46 Kb.
    bet43/47
    Sana15.11.2023
    Hajmi490,46 Kb.
    #99136
    1   ...   39   40   41   42   43   44   45   46   47

    “Pufaksimon” usulni yaxshilash


    1. Agar massivda o„tishlar nafaqat yuqoridan pastga, balki bir vaqtning

    o„zida pastdan yuqoriga ham bo„lsa, u holda “yengil” elementlar “yuqoriga suzib” chiqadi va “og„ir” elementlar esa “cho„kadi”.

    1. Massivda “bekor” o„tishni yo„q qilish uchun, tashqi siklda massiv saralanganligini tekshiruvchi belgi qo„yish lozim.

    for (int i=0;i for (int j=n-1;j>i;j--)
    if (a[j] < a[j - 1]){ int x= a[j - 1]; a[j - 1] = a[j]; a[j] = x;
    }
    O„rinlashtirish va taqqoslashlar soni: (n* log( n )).
      1. Quiksort – tez saralash algoritmi


    Bu algoritm “bo„lib ol va egalik qil” tamoyilining yaqqol misolidir. Bu algotirm rekursiv bo„lib, o„rtacha N*log2N ta solishtirish natijasida saralaydi. Algoritm berilgan massivni saralash uchun uni 2 taga bo„lib oladi. Bo„lib olish uchun ixtiyoriy elementni tanlab undan 2 ta qismga ajratiladi. Lekin o„rtadagi elementni tanlab, massivning teng yarmidan 2 ga ajratgan ma‟qul. Tanlangan kalit elementga nisbatan chapdagi va o„ngdagi har bir element solishtiriladi. Kalit elementdan kichiklar chapga, kattalar o„ng tomonga o„tkaziladi (6.3-rasm). Endi massivning har ikkala tomonida xuddi yuqoridagi amallar takrorlanadi. Ya‟ni bu oraliqlarning o„rtasidagi elementlar kalit sifatida olinadi va h.k.
    Misol uchun rasmdagi massivni saralash algoritmini ko„rib chiqamiz.

    1. Oraliq sifatida 0 dan n-1 gacha bo„lgan massivning barcha elementlarini olamiz.

    2. Oraliq o„rtasidagi kalit elementni tanlaymiz, ya‟ni

    key=(+)/2, i=,



    6.3-rasm. Quicksort algoritmida o„rinlashtirish





    1. Chapdagi i-elementni key bilan solishtiramiz. Agar key kichik bo„lsa, keyingi qadamga o„tamiz. Aks holda i++ va shu qadamni takrorlaymiz.

    2. O„ngdagi j-element bilan key solishtiriladi. Agar key katta bo„lsa, keyingi qadamga o„tamiz, aks holda j-- va shu qadamni takrorlaymiz.


    3. Download 490,46 Kb.
    1   ...   39   40   41   42   43   44   45   46   47




    Download 490,46 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Zbekiston respublikasi aloqa, axborotlashtirish va telekommunikatsiya

    Download 490,46 Kb.