Referati toshkent 2023 saralash algoritmlari mohiyati va ularning samaradorligini baholash. Reja


printArray(arr, n); return 0; } Bubble sort (Pufakchali saralash)


Download 30.07 Kb.
bet4/11
Sana15.11.2023
Hajmi30.07 Kb.
#1774600
TuriReferat
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Referati toshkent 2023 saralash algoritmlari mohiyati va ularnin-fayllar.org

printArray(arr, n);
return 0;
}


Bubble sort (Pufakchali saralash)
Bubble sort ikki qo‘shni elementni solishtirish va ular mo‘ljallangan tartibda bo‘lmaguncha, ularni almashtiradigan tartiblash algoritmidir. Xuddi suv yuzasiga ko‘tarilgan havo pufakchalarining harakati kabi, massivning har bir elementi har bir iteratsiyada oxirigacha harakat qiladi. Shuning uchun u pufakchali saralash deb ataladi (3-rasm).
Bubble sort” bu eng sodda, ketma-ketlikdagi har bir sonni boshqa sonlar bilan solishtirishga asoslangan algoritm hisoblanadi. Unda yonma-yon turgan elementlardan chapdagisi o‘ngdagidan kattaligi aniqlansa, bu ikkala son o‘rni almashtiriladi. Bu jarayon almashtirish kerak bo‘lmay qolguncha davom etadi, ya’ni barcha elementlar o‘sish tartibida bo‘lib qolguncha.
Bubble sort” nisbatan ko‘p vaqt talab qiluvchi saralash algoritmi hisoblanadi. Chunki unda n ta element uchun takrorlanishlar soni taqriban n2 ga teng. Bu, n kichik son bo‘lsa unchalik sezilmaydi. Sababi, hozirgi zamonaviy kompyuterlar uchun bu takrorlanish soni qiyinchilik tug‘dirmaydi. Ammo butun boshli ma’lumotlar bazasidagi ma’lumotlarni saralash talab etilsachi? Albatta vaqtdan yutqazamiz. Ammo, bu algoritm saralash algoritmlarini tushunib olish uchun ilk qadam hisoblanadi.

3-rasm. Bubble sort


Algoritmi va dasturi:


#include
using namespace std;

// Pufakchali tartiblashni amalga oshirish funksiyasi
void
bubbleSort(int arr[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++)

// Last i elements are already
// in place
for
(j = 0; j < n - i - 1; j++)
if (arr[j] > arr[j + 1])
swap(arr[j], arr[j + 1]);
}

// Function to print an array
void
printArray(int arr[], int size)
{
int i;
for (i = 0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}

// Driver code
int
main()
{
int arr[] = { 5, 1, 4, 2, 8};
int N = sizeof(arr) / sizeof(arr[0]);


Download 30.07 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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