• III. Pufaksimon saralash algoritmi
  • Pufaksimon ” usulni yaxshilash
  • Eng yaxshi O`rtacha




    Download 247,89 Kb.
    bet5/6
    Sana16.11.2023
    Hajmi247,89 Kb.
    #99549
    1   2   3   4   5   6
    Bog'liq
    Amaliy matematika va informatika fakulteti Tabiy va aniqfanlar k-fayllar.org (1)

    Eng yaxshi



    O`rtacha



    Eng yomon

    Tanlab saralash

    O(n^2)

    O(n^2)

    O(n^2)

    Pufakchali saralash

    O(n)

    O(n^2)

    O(n^2)

    Tezkor saralash

    O(n log(n))

    O(n log(n))

    O(n^2)

    Birlashmali saralash

    O(n log(n))

    O(n log(n))

    O(n log(n))

    III. Pufaksimon saralash algoritmi (Bubble sort) algoritimi

    G`oya– stakandagi suvning pufakchalari kun bo`yi tepaga ko`tariladi.
    Massiv uchun– eng kichik («engil») element tepada joylashadi («suv yuziga_ko`tariladi»).
    • Pastdan boshlab ikkita qo`shni elementni solishtiramiz; agarda ular
    «noto`g`ri» turgan bo`lsa, ularni o`rnini almashtiramiz
    • Birinchi o`tishda bitta element (eng kichik) o`z joyiga o`tadi
    • N ta elementli massivnisaralashuchun N-1 o`tishni bajarish lozim (N-1
    elementni_o`z joyiga qo`yish uchun_Yetarli).
    Xar bir o`tishdan so`ng ushbu o`tish davomida joy almashtirishlar bo`lgan bo`lmaganligini tekshirib qo`yish mumkin. 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.


    Misol : massiv - 4, 3, 7, 2, 1, 6 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. “Pufaksimon” saralash usulini hisoblashga misol Massivni pufaksimon saralashga misol 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.
    Pufaksimonusulni yaxshilash

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





    2) Massivda “bekor” o’tishni yo’q qilish uchun, tashqi siklda massiv saral


    anganligini 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 )).



    Download 247,89 Kb.
    1   2   3   4   5   6




    Download 247,89 Kb.