Turli maʻlumotlar tuzilmalaridan iborat to‘plamlarni saralash algoritmlarini bilasiz. Ammo ularni ko‘p sonli qiymatlari o‘zini tutishi qanday degan savol qiziqtiradimi? Nafaqat oddiy saralash balki shunday murakkab saralash algoritmlari ham mavjud. Ko‘p elementli massivlar katta sonlar bilash ishlashga ham foydalanish mumkin. Shuningdek tiplarning o‘zaro modifikatsiyasi bilan ham uzun sonlar bilan ishlanadi.
Asosiy saralash algoritmlari tavsifi va ularni amalga oshirish usullari. Saralashni qisqacha va aniq taʻriflashga va murakkabligini belgilashga harakat qilaman. Murakkab maʻlumotlar tuzilmalarni foydalanishda(daraxt saralash kabi) odatda xotira katta miqdorda sarflanadi va eng yomon holatda boshqa xil faqat yordamchi qator yaratish kerak bo‘ladi. Barqarorlik (stabillik) saralash tushunchasi ham mavjud. Demak, elementlarning nisbiy tartibi teng bo‘lganda o‘zgarmaydi.
Bubble sort
Shaker sort
Comb sort
Ma`lumotlar o`lchamlari esa juda katta, shu sabali ularni aniq va tez saralashga ehtiyoj mavjud. Buni amalga oshirish uchun esa yangi algoritmlarga ehtiyoj tug`ila boshladi. Buni yechimi sifatida bir necha turdagi algoritmlardan foydalaniladi. Ular:
Selektion sort
Merge sort
Bubble sort
const bubble = arr =>
{
const swap = (list, a, b) => [list[a], list[b]] = [list[b], list[a]];
for (let i = arr.length; i > 0; i--)
{
for (let j = 0; j < i - 1; j++)
{
if (arr[j] > arr[j + 1]) swap(arr, j, j + 1);
};
};
return arr;
}; console.log(bubble(unsortedArr));
Insertion sort
const insertion = arr => { arr.forEach((item, i) => {
let num = arr[i];
let j;
for (j = i - 1; j >= 0 && arr[j] > num; j--) {
arr[j + 1] = arr[j];
};
arr[j + 1] = num;
});
return arr;
}; console.log(insertion(unsortedArr));
____ __