|
To’g’ridan-to’g’ri tanlash a
|
bet | 16/71 | Sana | 18.12.2023 | Hajmi | 5,63 Mb. | | #122750 |
Bog'liq Test gift and xml-fayllar.orgTo’g’ridan-to’g’ri tanlash algoritmning samaradorligi
Taqqoslashlar soni:
O’rin almashtirishlar soni:
34. To’g’ridan-to’g’ri almashtirish usuli algoritmini yozing va uni ishlashini tushuntirib bering?
Ushbu usulni g’oyasi quyidagicha:
marta massivda quyidan yuqoriga qarab yurib kalitlar jufti-jufti bilan taqqoslanadi.
Agar pastki kalit qiymati, undan yuqoridagi juftining qiymatidan kichik bo’lsa, u holda ular o’rni almashtiriladi va h.k.
Pufaksimon saralash algoritmi:
Eng quyidan boshlab, har bir element, o’zidan yuqoridagi element bilan taqqoslanadi;
Yuqoridagi element katta bo’lsa, ularning o’rni almashtiriladi;
Bu almashtirish kichik element massivning eng yuqorisiga “qalqib” chiqqanicha davom ettiriladi.
Ushbu jarayon massivning har bir elementi uchun takrorlanadi.
To’rtta elementdan iborat A butun sonli tartiblanmagan massiv berilgan bo’lsin
Algoritmi:
3- va 2- element qiymatlari taqqoslanadi va o’rin almashtiriladi;
2- va 1- element qiymatlari taqqoslanadi va o’rin almashtiriladi;
1- va 0- element qiymatlari taqqoslanadi va o’rin almashtiriladi;
Natijada massivning eng kichik elementi 2 massivning yuqorisiga “qalqib” chiqadi.
Ushbu algoritm 2- elementdan boshlab keyingi qism massivda amalga oshiriladi va o’rinlar almashtiriladi, 4 “qalqib” chiqadi.
Pufaksimon saralash algoritmi (C++)
void pufak_s (key a[], int N)
{
int i,j;
key x;
for (i=0; i
for(j=N-1; j>i; j--)
if(a[j-1]>a[j] {
x=a[j]; a[j]=a[j-1]; a[j-1]=x;
} }
|
| |