• To’g’ridan-to’g’ri almashtirish usuli bilan saralash (pufaksimon)
  • A lgoritm samaradorligi : taqqoslashlar soni M = , almashtirishlar soni C max = 3 . Saralashning yaxshilangan usullari
  • O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti




    Download 18,84 Mb.
    bet78/163
    Sana16.01.2024
    Hajmi18,84 Mb.
    #138868
    1   ...   74   75   76   77   78   79   80   81   ...   163
    Bog'liq
    O zbekiston respublikasi oliy va o rta maxsus ta lim vazirligi t

    Algoritm samaradorligi:
    Taqqoslashlar soni M = .
    Almashtirishlar soni Cmin = 3(n - 1), Cmax = 3(n - 1)
    (n2 tartib).
    Ushbu usul bo’yicha saralash bajarilsa, eng yomon xolda taqqoslashlar va almashtirishlar soni tartibi n2 bo’ladi.


    To’g’ridan-to’g’ri almashtirish usuli bilan saralash (pufaksimon)

    Ushbu usulni 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 ular o’rni almashtiriladi.



    Paskal tilidagi dasturi:
    for i := 2 to n do
    for j := n downto i do
    if a[j - 1] > a[j] then
    begin
    x := a[j - 1];
    a[j - 1] := a[j];
    a[j] := x;
    end;
    Bizning xolatda bitta o’tish “bekor” bo’ldi. Elementlarni ortiqcha o’rinlashtirmaslik uchun bayroqcha kiritish mumkin.
    Pufaksimon usulni yaxshilangan usuli bu sheyker saralash usuli bo’lib, har bir o’tishdan keyin sikl ichida yo’nalish o’zgartiriladi.
    Algoritm samaradorligi:
    taqqoslashlar soni M = ,
    almashtirishlar soni Cmax = 3 .


    Saralashning yaxshilangan usullari


    Quiksort – tez saralash usuli

    G’oyasi: Bu usul almashtirish usulidagi saralashga tegishli bo’lib uning asosini kalitlarni tanlangan kalitga nisbatan ajratish tashkil qiladi.

    6 dan chap tomonda kalitlari kichik, o’ng tomonda esa kalitlari 6 dan katta bo’lgan elementlar joylashadi (yuqoridagi chizma).


    procedure Sort (L, R: integer);
    begin
    i := L;
    j := r;
    x := a[(L + r) div 2];
    repeat
    while a[i] < x do
    i := i + 1;
    while a[j] > x do
    j := j - 1;
    if i <= j then
    begin
    y := a[i];
    a[i] := a[j];
    a[j] := y;
    i := i + 1;
    j := j - 1
    end;
    until i > j;
    if L < j then sort (L, j);
    if i < r then sort (i, r);
    end;


    procedure QuickSort;
    begin
    sort (1, n);
    end;

    Download 18,84 Mb.
    1   ...   74   75   76   77   78   79   80   81   ...   163




    Download 18,84 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti

    Download 18,84 Mb.