51
Lugʻatlarda "saralash" (sorting) soʻzi "toifalarga ajratish, tartiblash,
baholash" deb ta‘riflanadi, ammo dasturchilar odatda bu soʻzni tor
ma‘noda ishlatishadi, ularga ba‘zi bir aniq
tartibda elementlarni qayta
joylashtirishga murojaat qilishadi. Bu jarayonni, ehtimol, saralash deb
emas, balki tartiblash (ordering) yoki ketma-ketlik (sequencing) deb
atash kerak. Biroq, saralash soʻzi dasturlash
jargonida allaqachon
mustahkam oʻrnashgan, shu sababli kelajakda "saralash" soʻzini tor
ma‘noda "tartiblash" dan foydalanamiz. Bu shuni anglatadiki, endi
"saralash" ta‘rifini shakllantirishimiz mumkin, bu kelgusida ishlatiladi.
Tartiblash
– bu berilgan obyektlar toʻplamini muayyan tartibda
qayta tartibga solish jarayoni. Saralashning
maqsadi elementlarni
topishni osonlashtirishdir.
Saralash algoritmi
– bu roʻyxatdagi elementlarni
saralash
algoritmi. Agar roʻyxat elementida bir nechta maydon boʻlsa, saralash
amalga oshiriladigan maydon
saralash kaliti
deb ataladi. Amalda raqam
koʻpincha kalit sifatida ishlatiladi va ba‘zi ma‘lumotlar algoritm
ishlashiga hech qanday ta‘sir koʻrsatmaydigan qolgan maydonlarda
saqlanadi.
Ehtimol, boshqa hech qanday muammo
saralash muammosi kabi
juda koʻp turli xil yechimlarni keltirib chiqarmagan. Butun dunyoda tan
olingan eng yaxshi algoritm bormi? Umuman aytganda, yoʻq. Biroq,
kirish ma‘lumotlarining taxminiy xususiyatlarini hisobga olgan holda,
siz eng yaxshi ishlaydigan usulni tanlashingiz mumkin.
Saralash usullari juda koʻp, ularning har biri oʻzining afzalliklari va
kamchiliklariga ega. Tartiblash algoritmlari
katta amaliy ahamiyatga
ega, ular oʻzlari uchun qiziqarli. Bu juda chuqur oʻrganilgan informatika
sohasi axborot qidirish tizimlarida, harbiy sohada va bank sohalarida
koʻproq qoʻllaniladi. Ammo hozirgi kunda
axborot oqimini tartiblash
masalasi deyarli har bir sohaga kirib bordi.
Algoritmlarni saralashga boʻlgan umumiy ilmiy qiziqishdan
tashqari, har bir algoritmda uning