• Pufaksimon saralash algoritmi Ushbu usulning g‘oyasi quyidagicha: n - 1
  • Pufaksimon” usulni yaxshilash
  • (n* log( n )).
  • Tanlash orqali saralash algoritmi




    Download 18,84 Mb.
    bet148/163
    Sana16.01.2024
    Hajmi18,84 Mb.
    #138868
    1   ...   144   145   146   147   148   149   150   151   ...   163
    Bog'liq
    O zbekiston respublikasi oliy va o rta maxsus ta lim vazirligi t

    Tanlash orqali saralash algoritmi


    Mazkur usul quyidagi tamoyillarga asoslangan:


    1. Eng kichik kalitga ega element tanlanadi.
    2. Ushbu element birinchi element bilan o‘rin almashinadi.
    3. Keyin mazkur jarayon qolgan n-1, n-2 elementlar bilan takrorlanib, to bitta eng “katta” element qolguncha davom ettiriladi.
    for(int i=0;i
    for(int j=i+1;j
    if (a[i] > a[j]){
    int k = a[j];
    a[j]= a[i];
    a[i]= k;
    }
    Algoritm samaradorligi:

    • Taqqoslashlar soni



    • Massiv tartiblanganda o‘rinlashtirishlar soni



    • Massiv teskari tartiblanganda o‘rinlashtirishlar soni


    Ushbu usul bo‘yicha saralash bajarilsa, eng yomon holda taqqoslashlar va o‘rinlashtirishlar soni tartibi n2 bo‘ladi.



      1. Pufaksimon saralash algoritmi

    Ushbu usulning g‘oyasi quyidagicha: n - 1 marta massivda quyidan yuqoriga qarab yurib kalitlar jufti-jufti bilan taqqoslanadi. Agar pastki kalit qiymati yuqoridagi jufti kalitidan kichik bo‘lsa, u holda ularning o‘rni almashtiriladi (6.1-rasm).


    Misol : massiv - 4, 3, 7, 2, 1, 6.

    6.1-rasm. Pufaksimon saralash usulida massiv


    elementlarining o‘rnini almashtirish
    Pufaksimon usulni massiv elementlarida pastdan yuqoriga va yuqoridan pastga o‘tishni bir vaqtda amalga oshirish natijasida yaxshilash mumkin.
    Taqqoslashlar soni:

    Almashtirishlar soni:

    “Pufaksimon” saralash usulini hisoblashga misol

    6.2-rasm. Massivni pufaksimon saralashga misol

    6.2-rasmda berilgan misolda 5 ta elementdan iborat massiv berilgan. Demak, massivda pastdan yuqoriga (yuqoridan pastga) o‘tishlar soni 5-1=4 marta bo‘ladi. Misoldan ko‘rinib turibdiki, algoritm ichki siklda 3-qadamdan boshlab massivni “bekor” qayta ishlaydi, 4-qadamni bajarmasa ham bo‘ladi.
    Berilgan usullarning afzalligi:
    1) Eng sodda algoritm;
    2) Amalga oshirish sodda;
    3) Qo‘shimcha o‘zgaruvchilar shart emas.
    Kamchiliklari:
    1) Katta massivlarni uzoq qayta ishlaydi;
    2) Har qanday holatda ham o‘tishlar soni kamaymaydi.


      1. 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. Download 18,84 Mb.
    1   ...   144   145   146   147   148   149   150   151   ...   163




    Download 18,84 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Tanlash orqali saralash algoritmi

    Download 18,84 Mb.