Algoritm tushunchasi


Pufakchali saralash (Bubble sort) algoritmining C++ dastur


Download 0.73 Mb.
bet9/28
Sana21.02.2023
Hajmi0.73 Mb.
#1216968
1   ...   5   6   7   8   9   10   11   12   ...   28
Bog'liq
Algoritmlashdan javoblar

Pufakchali saralash (Bubble sort) algoritmining C++ dastur
kodi. Ushbu algoritm ta’limiy hisoblanadi va samaradorligi pastligi
sababli amalda deyarli hech qachon qoʻllanilmaydi: u kichik elementlar
(ular "toshbaqalar" deb nomlanadi) massiv oxirida joylashgan testlarda
sekin ishlaydi. Biroq, koʻplab boshqa usullar bunga asoslangan,
masalan, Sheyker saralash va taroqsimon saralashlari.
Vaqt boʻyicha murakkabligi:
Eng yomon baho: O(n2)
Oʻrtacha baho: O(n2)
Eng yaxshi baho: O(n)
void bubbleSort(int arr[], int n)
{
int i, j;
bool swapped;
for (i = 0; i < n-1; i++)
{
swapped = false;
for (j = 0; j < n-i-1; j++)
{
if (arr[j] > arr[j+1])
{
swap(&arr[j], &arr[j+1]);
swapped = true;
}
}
if (swapped == false)
break;
}
}
18 Saralash algoritmlari. Sheyker saralashi
Sheyker saralashi. Sheyker (kokteyl) saralashi - bu Pufakchali
(Bubble Sort) algoritmining varianti. Bubble sort algoritmi har doim
chapdan elementlarni aylanib oʻtadi va birinchi iteratsiyada eng katta
elementni toʻgʻri holatiga, ikkinchisida esa ikkinchi takrorlashda va
hokazo. Kokteyl saralash berilgan massiv orqali har ikki yoʻnalishda
ham muqobil ravishda harakatlanadi.
Algoritmning har bir takrorlanishi 2 bosqichga boʻlinadi:
Birinchi bosqich massivni xuddi Bubble Sort singari chapdan
oʻngga aylantiradi. Sikl davomida qoʻshni elementlar taqqoslanadi va
agar chapdagi qiymat oʻngdagi qiymatdan katta boʻlsa, qiymatlar
almashtiriladi. Birinchi takrorlash oxirida eng katta son massivning
oxirida boʻladi.
Ikkinchi bosqich massivni qarama-qarshi yoʻnalishda aylantiradi bu eng soʻnggi saralangan elementdan oldin va massivning boshiga
qaytish. Bu yerda qoʻshni elementlar taqqoslanadi va agar kerak boʻlsa
almashtiriladi.

Download 0.73 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   28




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