Saralashning qat’iy va yaxshilangan usullari va ularning qo’llanilishi. Saralashning ikkita turi mavjud: ichki



Yüklə 321,13 Kb.
Pdf görüntüsü
səhifə2/6
tarix20.11.2023
ölçüsü321,13 Kb.
#164737
1   2   3   4   5   6
To’g’ridan-to’g’ri qo

shish usuli bilan saralash algoritmi 
Bunday usul karta o’yinida keng qo’llaniladi. Elementlar (kartalar) hayolan 
“tayyor” 
a(1),...,a(i-1) 
va boshlang’ich ketma-ketliklarga bo’linadi. Har bir qadamda 
(
i=2 
dan boshlanib, har bir qadamda bir birlikka oshirib boriladi) boshlang’ich 
ketma-ketlikdan i-chi element ajratib olinib tayyor ketma-ketlikning kerakli joyiga 
qo’yiladi.
To’g’ridan-to’g’ri qo’shish orqali saralash algoritmi quyidagicha bo’ladi:
for (int i=1;i
x=a[i]; 
x ni a[0]...a[i] oraliqning mos joyiga qo‘shish 

Kerakli joyni qidirish jarayonini quyidagi tartibda olib borish qulay bo’ladi. 
2-elementdan boshlab har bir elementni qarab chiqamiz, ya

ni har bir element 
o’zidan oldin turgan element bilan solishtiriladi. Agar qaralayotgan element kichik 
bo’lsa, oldinda turgan element bilan o’rin almashadi va yana o’zidan oldinda turgan 
element bilan solishtiriladi, jarayon shu kabi davom etadi. Bu jarayon quyidagi 
shartlarning birortasi bajarilganda to’xtatiladi:
1. 

elementi oldida uning kalitidan kichik kalitli 
a(j) 
elementi chiqqanda.
2. 

elementi oldida element qolmaganda.
for (int i=1;i
while(a[j]
int t=a[j-1]; 
a[j-1]=a[j]; 
a[j]=t; 
j=j-1; 


Algoritm samaradorligi 
Faraz qilaylik, taqqoslashlar soni 
C
, o’rinlashtirishlar soni 

bo’lsin. Agar 
massiv elementlari kamayish tartibida bo’lsa, u holda taqqoslashlar soni eng katta 
bo’lib, u ga teng bo’ladi, ya

ni . O’rinlashtirishlar soni esa ga teng bo’ladi, ya

ni . 
Agar berilgan massiv o’sish tartibida saralangan bo’lsa, u holda taqqoslashlar va 
o’rinlashtirishlar soni eng kichik bo’ladi, ya

ni , .

Yüklə 321,13 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin