Ergashov Ruslanning malumotlar tuzulmasi va algoritmlash fanidan muastqil ishi


Download 395.68 Kb.
bet2/7
Sana20.02.2023
Hajmi395.68 Kb.
#1215646
1   2   3   4   5   6   7
Bog'liq
mta

Массивларни навларга ажратиш. Навларга ажратиш - бу берилган кўплаб объектларни биронир белгиланган тартибда қайтадан гуруҳлаш жараёни.
Массивларнинг навларга ажратилиши тез бажарилишига кўра фарқланади. Навларга ажратишнинг n*nта қиёслашни талаб қилган оддий усули ва n*log(n)та қиёслашни талаб қилган тез усули мавжуд. Оддий усуллар навларга ажратиш тамойилларини тушунтиришда қулай ҳисобланади, чунки содда ва калта алгоритмларга эга. Мураккаблаштирилган усуллар камроқ сонли операцияларни талаб қилади, бироқ операцияларнинг ўзи мураккаброқ, шунинг учун унча катта бўлмаган массивлар учун оддий усуллар кўпроқ самара беради.
Оддий усуллар учта асосий категорияга бўлинади: - оддий киритиш усули билан навларга ажратиш; - оддий ажратиш усули билан навларга ажратиш;
- оддий алмаштириш усули билан навларга ажратиш

Оддий киритиш усули билан навларга ажратиш
Массив элементлари аввалдан тайёр берилган ва дастлабки кетма-кетликларга бўлинади. i=2дан бошлаб, ҳар бир қадамда дастлабки кетма-кетликдан i-нчи элемент чиқариб олинади ҳамда тайёр кетма-кетликнинг керакли ўрнига киритиб қўйилади. Кейин iбиттага кўпаяди ва ҳ.к.
Керакли жойни излаш жараёнида, кўпроқ ўнгдан битта позициядан танлаб олинган элементни узатиш амалга оширилади, яъни танлаб олинган элемент, j:=i-1 дан бошлаб, навларга ажратиб бўлинган қисмнинг навбатдаги элементи билан қиёсланади. Агар танлаб олинган элемент а[i] дан катта бўлса, уни навларга ажратиш қисмига қўшадилар, акс ҳолда а[j] битта позицияга сурилади, танлаб олинган элементни эса навларга ажратилган кетма-кетликнинг навбатдаги элементи билан қиёслайдилар.

Тўғри келадиган жойни қидириш жараёни иккита турлича шарт билан тугалланади:


- агар a[j]>a[i]элементи топилган бўлса;
- агар тайёр кетма-кетликнинг чап учига етилган бўлса. int i, j, x;
for(i=1; i
x=[i];// kiritib qo‘ishimiz lоzim elеmеntni esdа sаqlаb qоlаmiz
j=i-1;
while(x=0)//to‘g‘ri kеlаdigаn qidirish
}
a[j+1]=a[j] /o‘ngа surilish j--;
}
a[j+1]=x;//elеmеntni kiritish }

bo‘lgаn

jоyni



Download 395.68 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling