logo

SARALASH VA QIDIRISH UCHUN SAMARALI ALGORITMLAR

Загружено в:

12.08.2023

Скачано:

0

Размер:

1280.4931640625 KB
SARALASH VA QIDIRISH UCHUN SAMARALI ALGORITMLAR
Mundarija
KIRISH .......................................................................................................................................................... 2
Nazariy qism.Eng ko’p ishlatiladigan algoritm turlari. .................................................................................. 4
Joylashtirib saralash (Insertion sort) ........................................................................................................ 4
Qo’shib saralash (Merge sort) ................................................................................................................. 5
Saralash ............................................................................................................................................... 5
Qidirish ................................................................................................................................................ 5
Algoritm turlari bilan tanishish .................................................................................................................... 6
2. MA’LUMOTLARNI SARALASH ALGORITMLARI .......................................................................................... 6
2.1. TO’G’RIDAN-TO’G’RI QO’YISH USULI BILAN SARALASH ALGORITMLARI ........................................... 6
2.2 Tanlash usuli bilan saralash algoritmi ................................................................................................ 7
Saralashga misol. ....................................................................................................................................... 10
2.2. Mа’lumоtlаrni sаrаlаshning аsоsiy usullаri ......................................................................................... 11
3.MA’LUMOTLARNI IZLASH ALGORITMLARI. ............................................................................................. 21
3.1. Axborot izlashning (qidirish) asosiy tamoyillari. .................................................................................. 21
Ketma-ket qidiruv algoritmi ....................................................................................................................... 22
3.2. Kеtma-kеt izlash. ................................................................................................................................ 26
3.3. Izlashning tеzlashtiririlgan usullari. ..................................................................................................... 27
3.4.IKKILIK (BINAR) QIDIRISH ALGORITMI VA UNING TAHLILI. ................................................................... 28
Algoritmning tahlili .................................................................................................................................... 29
4.Amaliy qism. ........................................................................................................................................... 30
XULOSA ...................................................................................................................................................... 33
Foydalanilgan adabiyotlar .......................................................................................................................... 33
1 KIRISH
  Algoritm-bu   cheklangan   sonli   qadamlar   yordamida   muammoni   hal   qilish
uchun   matematik   jarayon. Algoritmlardan   foydalangan   holda   dasturchi   yoki
kompyuter   olimi   o'z   mashinasiga   ma'lumotlar   bazasini   o'tgan   oyning   savdo
ko'rsatkichlari   uchun   so'rashini,   ularni   o'tgan   oy   va  o'tgan   yilning   o'sha  oyi   bilan
taqqoslashini va keyin uni ustunli grafikada ko'rsatishini aytishi mumkin.
Bir   nechta   algoritmlarni   aralashtiring   va   sizda   ishlaydigan   kompyuter   dasturi
mavjud.
Kutilganidek, deyarli har qanday matematik muammolarni hal qilish uchun ko'plab
turdagi algoritmlar mavjud va bor:
 Sonli algoritmlar.
 Algebraik algoritmlar.
 Geometrik algoritmlar.
 Ketma-ket algoritmlar.
 Operativ algoritmlar.
 Nazariy algoritmlar.
Shuningdek, ularni ixtiro qilgan etakchi matematiklar nomidagi turli xil algoritmlar
mavjud:
 Shor algoritmi.
 Girvan-Nyuman algoritmi.
 Bir necha Yevklid algoritmlari.
Shuningdek,   ular   hal   qiladigan   aniq   muammo   nomi   bilan   atalganlar   mavjud,
masalan:
 Ikki tomonlama qidirish algoritmi.
K-yo'l algoritm birlashtirish.
2 Hisoblash sohasida  aksariyat  algoritmlar  ma'lumotlarni  boshqarish va tahlil  qilish
muammolarini hal qilishga moyil.
3 Nazariy qism. Eng ko’p ishlatiladigan algoritm turlari.
Puffakchali saralash (Buble sort)
“Bubble   sort”   bu   eng   sodda,   ketma-ketlikdagi   har   bir   sonni   boshqa   sonlar
bilan   solishtirishga,   asoslangan   algoritm   hisoblanadi.   Unda   solishtirish   natijasida
son   noto`g`ri   o`rinda   turganligi   aniqlansa,   son   o`rni   almashtiriladi.   Bu   jarayon
almashtirish   kerak   bo`lmay   qolguncha   davom   etadi,   ya`ni   kerakli   ketma-ketlikka
kelguncha.   “Bubble   sort”   eng   ko`p   vaqt   talab   qiluvchi   saralash   algoritmi
hisoblanadi. Chunki unda n ta element uchun takrorlanishlar soni n*n 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.
Tanlab saralash (Section sort)
“Selection   sort”   g’oyasi   juda   ham   oddiy:   har   qadamda   arrayning
saralanmagan   qismidagi   eng   kichik   (yoki   eng   katta)   elementni   topib   saralangan
qism   oxiriga   qo’shib   ketish.   Selection   sort   eng   oddiy   saralash   algoritmlaridan
bo’lib   O(n²)   vaqt   tezligida   ishlaydi.   Ya’ni,   algoritm   barcha   elementlarni   ko’rib
chiqish   (n-1)   mobaynida,   har   bir   qadamda   eng   kichik   elementni   topish   uchun
qolgan   elementlarni   ko’rib   chiqishi   kerak   bo’ladi.   Matematik   ko’rinishda
quyidagicha bo’ladi:
Joylashtirib saralash (Insertion sort)
Insertion   sort   (Joylab   saralash)   ham   tartibsiz   array   elementlarini   saralash
uchun   mo’ljallangan.   Uning   ishlash   prinsipi   (g’oyasi)   huddi   qo’ldagi   kartani
saralashga   o’xshab   ketadi.   Ya’ni   tartibsiz   turgan   kartalar   ichidan   birini   olasiz   va
uni   o’zi   turishi   kerak   bo’lgan   joyga   joylashtirib   qo’yasiz.   Algoritm   oldin   array
boshidagi ikkita elementni saralab oladida qolgan elementlarni shularga qarab o’z
o’rniga   joylashtirib   ketaveradi.   (Ulardan   oldiga,   ularning   orasiga   yoki   ulardan
keyinga). Har bir element huddi shu tartibda o’z o’rnini topib boraveradi. Insertion
sort ham Selection va Bubble sort kabi O(n²) vaqt murakkabligi bilan ishlasa ham,
lekin   ulardan   ko’ra   samaraliroq   algoritm   hisoblanadi.   Aynan,   array   elementlari
deyarli   saralangan   holatda   Insertion   sort   algoritmi   Merge   yoki   Quick   sort
algoritmidan ham ko’ra tezroq ishlaydi.
4 Tezkor saralash (Quick sort)
Bu   algoritm   Charlz   Hoar   tamonidan   1964   yilda   taklif   qilingan.   Charlz   Hoar
ingliz olimi, informatika va hisoblash texnikasi sohasida yetuk mutaxassis. Uning
“Tezkor saralash” algoritmi saralash bo’yicha eng ommobop algoritm.
 Bu algoritm ham “Bo’lib tashla va hukmronlik qil” metodiga asoslanadi.
 Massivda bo’luvchi element X tanlanadi.
 Elementlarni   shunday   joylashtiramizki,   dastlab   X   dan   kichik   yoki   teng
bo’lgan   elementlar   joylashsin,   keyin   undan   katta   bo’lgan   elementlar
joylashsin.
 Keyin ularni alohida saralaymiz.
Qo’shib saralash (Merge sort)
Bu algoritm Jon fon Neyman tamonidan 1946 yilda taklif qilingan. Jon Fon 
Neyman Vengriyalik matematika, kvant fizikasi, funksional analiz, to’plamlar 
nazariyasi, ekonomika, informatika kabi fanlarga munosib hissa qo’shgan.
 Algoritmlarni qurishning asosiy metodlaridan biri.
 Murakkab masalani yechish uchun, uni oddiyroq bo’laklarga ajratish kerak.
 Massivni ham huddi shunday saralash mumkin:
1. Uni ikkita bo’lakga ajratamiz.
2. Bo’laklarni alohida saralaymiz.
3. Saralangan massivlarni birlashtiramiz.
 Ikkita saralangan massiv berilgan. Ularni birlashtirib shunday massiv hosil 
qilish qilish kerakki, u yana saralangan bo’lsin.
Xar   safar   hali   ikki   massivning   hali   ko’rilmagan   qismlaridagi   birinchi   ikki
elementni taqqoslaymiz. Ulardan kichigini olamiz.
Saralash
Ma'lumotlarni samarali va foydali tarzda tartibga solish.   Bularga tez saralash,
birlashtirish sort, hisoblash sort va boshqalar kiradi;
Qidirish
Tartiblangan   ma'lumotlar   to'plamlarida   asosiy   ma'lumotlarni   topish.   Ikkilik
qidiruv   chiziqli   ma'lumotlar   tuzilmalarida   va   tartiblangan   ma'lumotlar
to'plamlarida qidirish uchun ishlatiladi.   Chuqurlik/kenglik birinchi qidirish (DFS /
5 BFS)   grafik   ma'lumotlar   tuzilmalari   uchun   ishlatiladi   va   veb-skanerlash   uchun
qidiruv tizimlarida ishlaydi.
Algoritmlar   raqamli   dunyoda   faqat   haqida   hamma   narsani   yuragi   bor,
avtomatlashtirilgan idishlarni uchun yuqori tezlikda birja savdo.
Texnologiya   yanada   kengroq   bo'lib,   biz   aqlli   avtomobillar,   aqlli   uylar,   aqlli
shaharlar   va   hatto   aqlli   jismlarga   tayanib   qolganimiz   sababli,   biz   sayyorada
yuradigan,   gapiradigan   va   o'ylaydigan   mutlaqo   yangi   ong   shakli   bilan   o'zaro
aloqada bo'lgandek tuyulishi mumkin. .
Biroq, aslida, bu juda ko'p algoritmlar orqali ishlaydigan juda ko'p raqamlar.
Algoritm turlari bilan tanishish
Algoritm   muammoni   hal   qilish   uchun   bajarilishi   kerak   bo'lgan   ketma-ket
qadamlar va jarayonlarni anglatadi Muammoni hal qilish algoritmlari.
2.   MA’LUMOTLARNI SARALASH ALGORITMLARI
2.1 .  TO’G’RIDAN-TO’G’RI QO’YISH USULI BILAN SARALASH 
ALGORITMLARI
Qo‘yish   yordamida   saralashning   asosiy   g‘oyasi:   saralangan   ro‘yxatga   yangi
element   qo‘yishda   qo‘yilayotgan   elementning   qiymatiga   mos   o‘rin   topilib,
joylashtiriladi.   Bundan   asosiy   maqsad,   yangi   element   qo‘yilgan   ro‘yxatni   qayta
saralashning   oldini   olishdan   iborat.   Qo‘yishlar   yordamida   saralashda   har   qanday
ro‘yxatning   birinchi   elementining   uzunligi   1   ga   teng   bo‘lgan   ro‘yxat   deb
hisoblanadi.   Ikki   elementli   saralangan   ro‘yxat   bir   elementli   ro‘yxatning   kerakli
joyiga ikkinchi elementni qo‘yish yordamida hosil qilinadi. Endi tartiblangan ikki
elementli   ro‘yxatga   uchinchi   elementni   qo‘shish   mumkin   bo‘ladi.   Bu   jarayon
boshlang‘ich ro‘yxatning barcha elementlari kengayuvchan tartiblangan ro‘yxatga
joylashgunga qadar davom etadi.
Bu usulda saralanadigan ro‘yxat  elementlari xayolan oldindan tayyorlangan dI,...,
(ii-I   va   boshlang‘ich   holatdagi   ketma-ketliklarga   bo‘lib   qaraladi.   Ro‘yxatning   2-
elementidan   boshlab   har   bir   qadamda   boshlang‘ich   ro‘yxatdan   i-element   tanlab
olinadi   va   tayyor   yangi   ro‘yxatga   joylashtiriladi.   Navbatdagi   tanlab   olingan
element   yangi   ro‘yxatda   qiymatiga   mos   o‘ringa   joylashtiriladi.   6.2-rasmda
tasodifiy tanlangan oltita sonni qo‘yish yordamida saralash jarayoni misol sifatida
keltirilgan.
6  
To’g’ridan-to’g’ri qo’yish usuli bilan saralash
  Bu algoritm bo‘yicha yangi qo‘yiladigan qiymat newElement 
o‘zgaruvchisiga ta‘minlanadi va bu qiymatdan katta bo‘lgan barcha elementlarni 
bir birlikka siljitadi (while tsiklida). TSiklning so‘ngi qadamida location+1 o‘rinda 
turgan element location+2 o‘ringa ko‘chiriladi. Bu location+1 o‘rinni yangi 
element uchun bo‘shatilayotganini bildiradi.
2.2 Tanlash usuli bilan saralash algoritmi
Bu usulning asosiy g ‘ oyasi: ro ‘ yxat elementlari ichidan qiymati bo ‘ yicha eng
kichik kalitli element tanlanib, u birinchi element bilan o ‘ rin almashtirish va ushbu
jarayonni qolgan n-1 ta element uchun qadamma-qadam bajarib, o ‘ sish tartibidagi
ro ‘ yxat   hosil   qilishdan   iborat.   usulning   g‘oyasi:   ro‘yxat   elementlari   quyidan
yuqoriga   (oxirgi   elementdan   birinchi   elementga)   yo‘nalishida   qiymatlarning   har
biri   jufti   bilan   taqqoslanadi.   Agar   quyidagi   element   qiymati   yuqoridagi   jufti
qiymatidan kichik bo‘lsa, u holda ularning o‘rni almashtiriladi va h.k. (6.3-rasm).
Ya‘ni,   Pufakchali   saralashning   asosiy   g‘oyasi   ro‘yxatning   kichik   qiymatli
elementlarini   ro‘yxatning   yuqori   qismiga   chiqarish,   shu   vaqtning   o‘zida   katta
qiymatli elementlarini esa quyi qismiga tushurishdan iborat.
Pufakcha   saralashda   ro‘yxat   bo‘yicha   bir   necha   o‘tishlar   bajariladi.   Har   bir
o‘tishda   qo‘shni   elementlar   taqqoslanadi.   Agar   qo‘shni   elementlar   noto‘g‘ri
tartibda joylashgan bo‘lsa, u holda qo‘shni elementlar o‘rni almashtiriladi. Har bir
o‘tish   ro‘yxat   boshidan   boshlanadi.   Dastlab   1   va   2,   keyin   2   va   3,   keyin   3   va   4-
o‘rindagi   elementlar   taqqoslanadi   va   h.k.   Noto‘g‘ri   tartibli   elementlar   jufti
almashtiriladi.   Birinchi   o‘tishda   eng   katta   element   topilsa,   shu   element   ro‘yxat
oxiriga qadar barcha keyingi elementlar bilan taqqoslanadi va o‘rni almashtiriladi.
SHuning   uchun   ikkinchi   o‘tishda   ro‘yxatning   so‘ngi   elementi   bilan   taqqoslash
shart   bo‘lmaydi.   2-o‘tishda   kattaligi   bo‘yicha   2-element   ro‘yxatning   oxiridan   2-
o‘ringa   tushadi.   Agar   biror   o‘tishda   bitta   ham   elementlar   juftining   o‘rni
almashtirilishi bajarilmasa, u holda algoritm ishini tugallash mumkin.
7  
  Alamashtirish (“pufakcha”) usuli bilan saralash
Agаr   mа’lumоtlаr   EHM   хоtirаsidа   muаyyаn   tаrtibdа   sаqlаnаdigаn   bо‘lsа,
ахbоrоtgа ishlоv bеrish vа uni izlаsh bilаn bоg‘liq kо’p mаsаlаlаr оddiyrоq,tеzrоq
vа   sаmаrаlirоq   hаl   qilinаdi.   Bir   qаtоr   hоllаrdа   mа‘lumоtlаrning   tаrtibgа
sоlingаnligidаn fоydа аniq bо‘lib, mахsus isbоtlаshlаrni tаlаb еtmаydi. Agаr lug’аt
yоki   tеlеfоn   mа‘lumоtnоmаsidа   sо‘zlаr   vа   fаmiliyаlаr   аlifbо   tаrtibidа
jоylаshtirilmаgаndа   ulаrdаn   fоydаlаnish   qаnсhаlik   qiyin   bо‘lishini   tаsаvvur   еtish
mumkin.   Lеkin   mа‘lumоtlаrni   sаrаlаsh   zаruriyаti   mаsаlаsi   hаr   sаfаr   muаyyаn
vаzifаgа nisbаtаn hаl qilinishi zаrur. Bundа tаshqi хоtirа qurilmаlаri imkоniyаtlаri,
оpеrаtiv хоtirа hаjmi, mа‘lumоtlаrgа murоjааt qilish t е zligi, ul а rni y а ngil а b turish
t е zligi   v а   ishl о v   b е rish   ха r а kt е ri   k а bil а rni   t а hlil   qilish   z а rur.   Turli   il о v а l а rd а
t а rtibg а   s о lishning  turli  m е z о nl а rid а n  f о yd а l а nil а di.  M а ’lum о tl а r  ul а rg а   mur о j аа t
qilish   е htim о lining qiym а ti, q а n с h а   t е z-t е z mur о j аа t   е tib turilishig а   k о ‘r а   t а rtibg а
s о linishi mumkin. Od а td а , t а rtibg а  s о lish k а lit b о ‘yi с h а   а m а lg а   о shiril а di. A х b о r о t
tiziml а ri   bil а n   ishl о v   b е ril а dig а n   m а ’lum о tl а r   birligi   bir   q а t о r   ах b о r о t
m а yd о nl а rid а n   ib о r а t   b о ’lg а n   y о zuv   his о bl а n а di.   K а lit   bitt а   y о zuv   m а yd о ni
i с hid а gi   n а rs а l а r   (k а lit   m а yd о ni)   y о ki   mu а yy а n   m а yd о nl а r   m а jmuid а n   ib о r а t
b о ‘lishi   mumkin.  K е yingi   h о ld а   k а lit   t а rkibiy   d е b   а t а l а di.  Y о zuv  f а q а t   bitt а gin а
m а yd о nd а n   ib о r а t   b о ‘lishi   mumkin   v а   bu   h о ld а   u   k а litli   his о bl а n а di.   T а rtibg а
s о lishd а  n а tij а sid а  y о zuvl а r k а litl а rning qiym а ti   о rtib b о rishi y о ki k а m а yib b о rish
b о ‘yi с h а  j о yl а sh а di. Bund а y t а rtibg а  s о lish j а r а y о ni  s а r а l а sh  d е b  а t а l а di. 
B а ‘z а n   ах b о r о t   m а ssivining   y а g о n а   usuld а   s а r а l а nm а sligi   qul а y   b о ‘l а di.   Bund а y
v а ziy а t   turli   il о v а l а r   k а lit   sif а tid а   m а ssiv   y о zuvl а rining   turli   m а yd о nl а rid а n
f о yd а l а n а dig а n   h о ll а rd а   yuz а g а   k е l а di.   Ushbu   il о v а   u с hun   z а rur   k а lit   b о ‘yi с h а
а s о siy m а ssivni s а r а l а sh h а r s а f а r b е v о sit а  m а ‘lum о tl а rg а  ishl о v b е rishni b о shl а sh
о ldid а n   а m а lg а   о shiril а di.  Ishl о v  b е rish   tug а ll а ng а nid а n  s о ‘ng   s а r а l а ng а n  m а ssiv
y о ‘k о til а di.   Bund а   s а r а l а sh   v а qti   m а ‘lum о tl а rg а   ishl о v   b е rishning   umumiy   v а qti
his о big а   kiritil а di.   Bir   q а t о r   h о ll а rd а   turli   k а litl а r   b о ‘yi с h а   s а r а l а ng а n   m а ssivl а r
y о ki   f а yll а r   EHM   хо tir а sid а   d о imiy   s а ql а n а di.   Bund а y   m а ssivl а r   inv е rsl а ng а n
8 (t е sk а ril а ng а n) m а ssivl а r  d е yil а di. Bund а   хо tir а ning k о ‘p s а rfl а nishi, k о ‘pin с h а ,
ishl о v b е rish j а r а y о nining t е zl а shishi his о big а   о ‘zini   о ql а ydi. S а r а l а sh j а r а y о nid а
f о yd а l а nil а dig а n   t ех nik а   v о sit а l а ri   t а rkibig а   k о ‘r а   i с hki   v а   t а shqi   s а r а l а sh
f а rql а n а di.   Ag а r   t а rtibg а   s о lin а dig а n   m а ssiv   t о ‘l а ligi с h а   о p е r а tiv   хо tir а d а
j о yl а sh а dig а n   v а   s а r а l а sh   j а r а y о nid а   d а v о mid а   о ‘sh а   y е rd а   tur а dig а n   b о ‘ls а ,   bu
i с hki   s а r а l а sh   his о bl а n а di.   T а shqi   s а r а l а sh   h а jmi   о p е r а tiv   хо tir а ning   b о ‘sh
хо tir а sid а n   о rtiq b о ‘lg а n m а ‘lum о tl а r m а ssivl а rid а   о ‘tk а zil а di. Bu h о ld а   d а stl а bki
v а   s а r а l а ng а n   m а ‘lum о tl а r   m а ssivl а ri   t а shqi   хо tir а   qurilm а l а rid а   j о yl а sh а di.
S а r а l а sh   j а r а y о nid а   d а stl а bki   m а ssivning   bir   qismi   о p е r а tiv   хо tir а d а   о ‘qil а di,   u
y е rd а   i с hki   s а r а l а sh   usull а rid а n   biri   bil а n   s а r а l а n а di,   s о ‘ngr а   t а shqi   хо tir а
qurilm а sig а   y о zib   о lin а di.   Bu   j а r а y о n   bir   n ес h а   m а rt а   t а kr о rl а n а di.   Shu   t а riq а
s а r а l а b   о ling а n   y о zuvl а r   k е tm а -k е tligi   k е yin с h а lik   birl а shtiril а di.   T а shqi   хо tir а
qurilm а sid а gi   t а rtibg а   s о ling а n   m а ‘lum о tl а r   k е tm а -   k е tligini   birl а shtirish
о p е r а tsiy а si  q о ’shilish  d е b  а t а l а di. Shund а y qilib, t а shqi s а r а l а sh ishl о v b е rishning
ikki   b о sqi с hini:   i с hki   s а r а l а sh   v а   q о ‘shilishni   о ‘z   i с hig а   о l а di.I с hki   s а r а l а shning
k о ‘pl а b usull а ri m а vjud v а  ul а rning h а r biri  о ‘z  а fz а llikl а ri v а  k а m с hilikl а rig а   е g а
b о ‘lib, m а ‘lum о tl а r v а   а pp а r а tur а ning mu а yy а n k о nfigur а tsiy а l а rid а  b о shq а l а rid а n
s а m а r а lir о q   b о ‘lishi   mumkin.   S а r а l а sh   usull а rining   t а vsifl а rini   b а h о l а sh   h а r   bir
mu а yy а n   h о l а td а   bu   usull а rd а n   birini   t о ‘g‘ri   t а nl а sh   imk о nini   b е r а di.
Y о zuvl а rning   d а stl а bki   k е tm а -k е tligi   turli   d а r а j а d а   t а rtibg а   s о ling а n   b о ‘lishi
mumkin. B а lki y о zuv  е l е m е ntl а ri b е lgil а ng а n t а rtibd а  j о yl а shg а n b о ‘lishi mumkin.
B о shq а   bir h о l а td а   е l е m е ntl а r b е lgil а ng а ng а   t е sk а ri, y а ‘ni y о zuvl а rning d а stl а bki
k е tm а -k е tligi   t е sk а ri   t а rtibd а   j о yl а shg а n   b о ‘lishi   mumkin.   Umum а n   о lg а nd а ,
k е tm а -k е tlik   е l е m е ntl а ri   ist а lg а n   i х tiy о riy   t а rtibd а   j о yl а shishi   mumkin.
Y о zuvl а rning d а stl а bki k е tm а -k е tligining q а nd а y t а rtibd а  j о yl а shg а nlik d а r а j а sig а
k о ‘r а ,   s о lishtirishl а r   v а   j о yini   о ‘zg а rtirishl а rning   u   y о ki   bu   s о ni   t а l а b   е til а di.
S а r а l а sh   usulini   b а h о l а shd а   s о lishtirishl а r   v а   о ‘rnini   о ‘zg а rtirishl а rning   е ng   k о ‘p
v а   k а m   s о nl а rini   t о pish   jud а   о s о n.   Bu   о p е r а tsiy а l а rning   о ‘rt ас h а   s о nini   а niql а sh
u с hun   k о mbin а t о rik а ning   t е gishli   b о ‘liml а rini   j а lb   е tish   z а rur.   Am а liy о td а   usul
t а vsifl а rining   о ‘rt ас h а   qiym а tl а rini   b а h о l а sh   u с hun   bu   t а vsifl а rning   о ‘rt ас h а
а rifm е tik   qiym а tl а rini   а rpr о ksim а tsiy а l а shd а n   f о yd а l а nil а di.   Od а td а ,   s а r а l а sh
j а r а y о nid а   b а j а ril а dig а n   s о lishtirish   о p е r а tsiy а l а rining   о ‘rt ас h а   s о ni   v а
е l е m е ntl а rning   о ‘rnini   а lm а shtirish   y о ki   о ‘zg а rtirishl а rning   о ‘rt ас h а   s о ni   turli
usull а rni   b а h о l а sh   m е z о nl а ri   his о bl а n а di.   S а r а l а sh   s а m а r а d о rligi
s о lishtirishl а rning   о ‘rt ас h а   s о nini   m а ssiv   е l е m е ntl а rining   s о nig а   b о ‘linm а si
sif а tid а   а niql а n а di. Od а td а , EHM l а rning   о p е r а tsi о n tiziml а ri, h ес h b о ‘lm а g а nd а ,
bitt а   d а stur   –   s а r а l а sh   utilit а sid а n   ib о r а t   b о ‘l а di.   L е kin   m а ‘lum о tl а rg а   ishl о v
b е rishning  mu а yy а n v а zif а l а rini   h а l  qilishd а   utilit а   t а klif   е t а y о tg а n usul  y а r о qsiz
b о ‘lishi v а  b о shq а  usulni ishl а b  с hiqish y о ki f о yd а l а nishg а  t о ‘g‘ri k е lishi mumkin.
9 Shu mun о s а b а t bil а n s а r а l а shning  а s о siy usull а rini bilish v а  mu а yy а n v а zif а  u с hun
y а r о qli   b о ‘lg а n   u   y о ki   bu   usulni   b а h о l а y   о lish   muhimdir.T а shqi   хо tir а
qurilm а sid а gi   t а rtibg а   s о ling а n   m а ‘lum о tl а r   k е tm а -k е tligini   birl а shtirish
о p е r а tsiy а si q о ‘shilish d е b  а t а l а di.
Saralashning ichki va tashqi saralash turi mavjud :
1.ichki saralash - bu tezkor xotiradagi ma‘lumotlarni saralash;
2.tashqi saralash - tashqi xotira (fayllar)dagi ma‘lumotlarni saralash.
Saralash   deganda   ma‘lumotlarni   xotirada   muayyan   tartibda   uning   kalitlari
bo‘yicha   joylashtirish,   muayyan   tartib   deganda   esa   kalit   qiymati   bo‘yicha   o‘sish
(yoki   kamayish)   tartibida   ro‘yxatning   boshidan   oxirigacha   joylashtirish
tushuniladi. 
Saralashga misol.
Ma‘lumotlarni   saralashning   qat'iy   (to‘g'ri)   va   yaxshilangan   usullari   mavjud
bo‘lib, qat‘iy usullariga quyidagilarni misol qilib olish mumkin:
1) to‘g‘ridan-to‘g‘ri qo‘yish orqali saralash usuli;
2) nto‘g‘ridan-to‘g‘ri tanlash orqali saralash usuli;
3) to‘g‘ridan-to‘g‘ri almashtirish orqali saralash usuli.
Bu   uchala   saralash   usullarining   samaradorligi   deyarli   bir   xil.   Keltirilgan   har
bir saralash usullariga mos algoritmlar va ularning tahlilini o‘rganib chiqamiz.
Saralash   algoritmlarining   samaradorligini   bir   necha   parametrlari   bo‘yicha
farqlash mumkin. Bu parametrlarning asosiylari quyidagilar hisoblanadi:
1) saralash uchun sarflanadigan vaqt;
2) saralash uchun talab qilinadigan tezkor xotira hajmi.
Saralash   algoritmlarini   baholashda   faqat   «joyida»   saralash   usullarini
qarabchiqamiz,   ya‘ni   saralash   jarayoni   uchun   qo‘shimcha   xotira   zahirasi   talab
qilinmaydi.   Saralash   uchun   sarf   qilinadigan   vaqtni   esa,   saralash   bajarilishi
jarayonida   amalga   oshiriladigan   taqqoslashlar   va   o‘rin   almashtirishlar   soni   orqali
hisoblash   mumkin.   Ixtiyoriy   saralash   usulida   taqqoslashlar   soni   O ( nlog 2 n )   dan
O ( n 2
) gacha bo‘lgan oraliqda yotadi.Ma‘lumotlarni saralashning   qat'iy (to‘g'ri) va
yaxshilangan   usullari   mavjud   bo‘lib,   qat‘iy   usullariga   quyidagilarni   misol   qilib
10 olish mumkin:
1) to‘g‘ridan-to‘g‘ri qo‘yish orqali saralash usuli;
2) to‘g‘ridan-to‘g‘ri tanlash orqali saralash usuli;
3) to‘g‘ridan-to‘g‘ri almashtirish orqali saralash usuli.
Bu uchala saralash usullarining samaradorligi deyarli bir xil.
2.2. M а ’lum о tl а rni s а r а l а shning  а s о siy usull а ri
Ist а lg а n   usuld а   о ‘tk а zil а dig а n   s а r а l а sh   j а r а y о ni   bir   n ес h а   tsikll а rd а n   ib о r а t
b о ‘l а di. H а r bir tsikld а  y о zuvl а rning butun k е tm а -k е tligi k о ‘rib  с hiqil а di v а  uning
е l е m е ntl а ri   bil а n   mu а yy а n   о p е r а tsiy а l а rni   b а j а ril а di.   Ishl о v   b е rishning   bir   tsikli
о ‘tish   d е b   а t а l а di.   F о yd а l а nil а y о tg а n   s а r а l а sh   usulig а   b о g‘liq   h о ld а   t а rtibg а
s о ling а n   k е tm а -   k е tlik   d а stl а bki   k е tm а -k е tlik   j о yl а shg а n   хо tir а   u с h а stk а sig а
j о yl а shtiril а di   y о ki   о ‘zi   u с hun   хо tir а ning   b о ‘sh   u с h а stk а sini   t а l а b   е t а di.   Birin с hi
h о ld а   usul   хо tir а   b о ‘yi с h а   minim а l   his о bl а n а di.   S а r а l а shning   а s о siy   usull а rini
k о ‘rib  с hiq а miz.  T а nl а sh usuli.  Ushbu usul bil а n s а r а l а shd а  y о zuvl а rning t а rtibg а
s о ling а n k е tm а -k е tligi  хо tir а ning d а stl а bki k е tm а -k е tlik j о yl а shg а n u с h а stk а sining
о ‘zid а   t а shkil   е til а di.   Birin с hi   о ‘tish   d а v о mid а   е ng   ki с hik   е l е m е nt   izl а n а di.   Bu
е l е m е nt   t о pilg а nid а n   s о ‘ng   uni   d а stl а bki   k е tm а -k е tlikd а gi   birin с hi   е l е m е nt   bil а n
j о yi   а lm а shtiril а di,   n а tij а d а   е ng   ki с hik   е l е m е nt   tuzil а y о tg а n   t а rtibg а   s о ling а n
k е tm а -k е tlikd а   birin с hi   h о l а tni   е g а ll а ydi.   S о ‘ngr а   q о lg а n   е l е m е ntl а r   i с hid а n
k е yingi   е ng   ki с hik   е l е m е nt   izl а n а di.   T о pilg а n   bu   е l е m е nt   h а m   d а stl а bki   k е tm а -
k е tlikning ikkin с hi  е l е m е nti bil а n j о yi  а lm а shtiril а di. Ikkin с hi  о ‘tishd а n s о ‘ng ikki
е l е m е ntd а n   ib о r а t   b о ‘lg а n   k е tm а -k е tlik   tuzilg а n   b о ‘l а di,   ul а rd а n   birin с hisi
ikkin с hisid а n   ki с hik   b о ‘l а di.   K а litining   qiym а ti   е ng   ki с hik   b о ‘lg а n   k е yingi
е l е m е ntni   izl а sh   v а   uni   d а stl а bki   k е tm а -k е tlikning   t е gishli   p о zitsiy а l а rig а
j о yl а shtirish b а r с h а   е l е m е ntl а r  о shib b о ruv с hi t а rtibd а  s а r а l а nib b о ‘lingung а  q а d а r
d а v о m  е t а di.1
11 a-rasm. Tanlash usulida saralash misoli.
  T а nl а sh   usuli   bil а n   s а r а l а sh   n а mun а si   S а r а l а sh   usull а rini   r а sml а rd а
k о ‘rs а tishd а   y о zuvl а r   f а q а t   k а lit   m а yd о nid а n   ib о r а t   d е b   k о ‘zd а   tutil а di,   y а ‘ni
t а rtibg а   s о lin а y о tg а n   k е tm а -k е tlik   е l е m е ntl а ri   y о zuvl а r   k а litining   qiym а tl а ri
his о bl а n а di.   a-r а smd а   b е lgil а ng а n   r а q а ml а r   ushbu   о ‘tishd а   k а litining   е ng   ki с hik
qiym а ti   b о ‘yi с h а   t а nl а b   о ling а n   y о zuvl а rni   bildir а di.   Ushbu   о ‘tish   u с hun
q о ‘sh а l о q   с hiziqd а n   с h а pd а   j о yl а shg а n   е l е m е ntl а r   t а rtib   b о ‘yi с h а   q о ‘yilg а ndir.   6
t а   е l е m е ntd а n ib о r а t b о ‘lg а n y о zuvl а rning A k е tm а -k е tligi b е sh  о ‘tishd а  s а r а l а nib
b о ‘ldi.   Ushbu   usulning   t а vsifl а rini   b а h о l а ymiz.   N   е l е m е ntd а n   ib о r а t   k е tm а -
k е tlikni   s а r а l а sh   u с hun   N   -   1   о ‘tish   t а l а b   е til а di,   с hunki   h а r   bir   о ‘tishd а   t а rtibg а
s о ling а n   k е tm а -k е tlikning   h а r   bir   t е gishli   f а q а t   bitt а   е l е m е nt   kiritil а di.   I   –   о ‘tish
u с hun N - i s о lishtirish t а l а b  е til а di. D е m а k, s о lishtirishl а rning umumiy s о ni 
Yuq о rid а   k о ‘rib   с hiqilg а n  usul   bil а n  s а r а l а shd а   s о lishtirishl а r   s о ni   d а stl а bki
k е tm а -k е tlikning t а rtibg а  s о ling а nlik d а r а j а sig а  b о g‘liq b о ‘lm а ydi. Shuning u с hun
о ling а n   if о d а   s о lishtirishl а rning   е ng   k а m,   е ng   k о ‘p   v а   о ‘rt ас h а   s о nini
а niql а ydi.S о lishtirishl а rning   о ‘rt ас h а   s о nini   b а h о l а sh   u с hun   if о d а l а rningquyid а gi
а ppr о ksim а tsiy а sid а n   f о yd а l а nish   mumkin   (1):   0,5   N2   .   Bund а y   а ppr о ksim а tsiy а
N   =   100   ligid а   1   %   v а   N   =   1000   ligid а   0,1   %   ха t о likk а   y о ‘l   q о ‘yishi   mumkin.
T а nl а sh usuli bil а n s а r а l а shd а  s о lishtirishl а rning  о ‘rt ас h а  s о ni 0,5N2 g а  mut а n о sib
d е b   his о bl а sh   mumkin.   El е m е ntl а rning   j о yini   а lm а shtirish   miqd о ri   d а stl а bki
k е tm а -k е tlik   е l е m е ntl а rining   j о yl а shuvig а   b о g‘liqdir.   L е kin   ist а lg а n   h о ld а   h а m
12 bitt а   о ‘tish   d а v о mid а   bitt а d а n   о rtiq   b о ‘lm а g а n   j о y   а lm а shtirish   t а l а b   е til а di;
d е m а k   j о y   а lm а shtirishl а rning   е ng   k о ‘p   s о ni   N   –   1   g а   t е ng.   Eng   y ах shi   h о ld а ,
y а ‘ni   d а stl а bki   k е tm а -k е tlik   t а rtibg а   s о ling а n   b о ‘ls а   bitt а   h а m   j о y   а lm а shtirish
t а l а b  е tilm а ydi. D е m а k, j о y  а lm а shtirishl а r  о ‘rt ас h а  s о ni N/2 g а  mut а n о sibdir.
v о id s е l ес ti о nS о rt(int numb е rs[], int  а rr а y_siz е ) 
{ 
int i, j; 
int min, t е mp; 
f о r (i = 0; i <  а rr а y_siz е -1; i++) 
{min = i; 
f о r (j = i+1; j <  а rr а y_siz е ; j++) 
{ 
if (numb е rs[j] < numb е rs[min]) 
min = j; 
}
t е mp = numb е rs[i]; 
numb е rs[i] = numb е rs[min]; 
numb е rs[min] = t е mp; } }
b-r а sm . Alm а shtirish usulid а  s а r а l а sh mis о li.
Alm а shtirish usuli (puf а k с h а ).  Bu usul bil а n s а r а l а shd а  t а rtibg а  s о lin а dig а n
k е tm а -k е tlik   хо tir а ning   d а stl а bki   k е tm а -k е tlik   j о yl а shg а n   y е rid а   t а shkil   е til а di.
S а r а l а sh j а r а y о nid а  q о ‘shni  е l е m е ntl а r jufl а b s о lishtiril а di. Ag а r s о lishtiril а y о tg а n
е l е m е ntl а r   о ‘rt а sid а gi   t а rtib   buzilg а n   b о ‘ls а   ul а rning   j о yl а ri   а lm а shtiril а di.   Bu
а lm а shtirish   usuli   k о ‘pin с h а   puf а k с h а   usuli   d е b   h а m   а t а l а di,   с hunki   е ng   ki с hik
е l е m е ntl а r h а r bir  о ‘tishd а   х uddi puf а k с h а l а rg а   о ‘ х sh а b k е tm а - k е tlikning birin с hi
p о zitsiy а si   y о ‘n а lishid а   «q а lqib»   с hiq а di.   b-r а smd а   puf а k с h а   usulid а   s а r а l а sh
n а mun а si k е ltirilg а n. Birin с hi  о ‘tish d а v о mid а  A1 v а  A2  е l е m е ntl а ri s о lishtiril а di.
Ag а r   A2   <   A1   b о ‘ls а ,   е l е m е ntl а rning   j о yl а ri   а lm а shtiril а di,   bund а   A2   е l е m е nt
birin с hi p о zitsiy а ni, A1   е l е m е nt   е s а  ikkin с hi p о zitsiy а ni   е g а ll а ydi. Bu j а r а y о n A2
13 v а   A3   ,   A3   VA   A4   е l е m е nt   juftl а ri   u с hun   t а kr о rl а n а di   v а   h о k а z о .   Birin с hi
о ‘tishd а n s о ‘ng   е ng k а tt а   е l е m е nt N p о zitsiy а ni   е g а ll а ydi,   е ng ki с hik   е l е m е nt   е s а
bitt а   p о zitsiy а g а   yuq о rig а   k о ‘t а ril а di   («q а lqib   с hiq а di»)   H а r   bir   k е yingi   о ‘tishd а
n а vb а td а gi   е ng k а tt а   е l е m е ntl а r t е gishli с h а   N - 1, N - 2 v а   h о k а z о   p о zitsiy а l а rni
е g а ll а ydi, n а tij а d а   t а rtibg а   s о ling а n m а ssiv tuzil а di.H а r bir   о ‘tishd а n s о ‘ng ushbu
о ‘tish   d а v о mid а   j о y   а lm а shtirishl а r   b о ‘lg а n-   b о ‘lm а g а nligini   t е kshirib   q о ‘yish
mumkin.   Ag а r   j о y   а lm а shtirishl а r   b о ‘lm а g а n   b о ‘ls а ,   bu   k е tm а -k е tlik   t а rtibg а
s о ling а nligi   v а   k е yingi   о ‘tishl а r   t а l а b   е tilm а sligini   bildir а di.   O‘tishl а r   d а v о mid а
а lm а shtirishd а   ishtir о k   е t а dig а n   ох irgi   е l е m е nt   (b-r а smd а   bu   е l е m е ntl а r   q о ‘sh
с hiziq bil а n   с hizilg а n)   q а yd   е til а di. N а vb а td а gi   о ‘tishd а   t а gig а   с hizilg а n   е l е m е nt
v а   b а r с h а   und а n   k е yingi   2526   е l е m е ntl а r   s о lishtirishd а   ishtir о k   е tm а ydi,   с hunki
shu   p о zitsiy а d а n   b о shl а b   k е tm а -k е tlik   t а rtibg а   s о ling а n   b о ‘l а di.   Bu   usul   u с hun
s о lishtirishl а r   s о ni   s а r а l а sh   u с hun   z а rur   b о ‘l а dig а n   о ‘tishl а r   s о nig а   b о g‘liq.   Eng
y о m о n   h о ld а ,   y а ‘ni   k е tm а -k е tlik   t е sk а ri   t а rtibd а   b о ‘ls а ,   h а r   bir   i- о ‘tishd а
а lm а shtirishl а r,   о ‘tishl а r   s о ni   е s а   N   –   1   g а   t е ng.   Bund а   s а r а l а sh   u с hun
alm а shtirishl а r s о ni   е ng k о ‘p b о ‘l а di. Sm ах  = (N - 1) + (N - 2) + (N - 3) + ... + 1
а rifm е tik pr о gr е ssiy а   а ‘z о l а ri summ а sig а  t е ng, y а ‘ni
Eng y ах shi  h о ld а , d а stl а bki k е tm а -k е tlik t а rtibg а   s о ling а nd а   b о r-y о ‘g‘i bitt а
о ‘tish v а  N - 1 s о lishtirish t а l а b  е til а di. S о lishtirishl а rning  е ng k а m s о ni Smin = N
-   1.   S о lishtirishl а rning   о ‘rt ас h а   s о ni   0,25N2   g а   t е ng.Puf а k с h а   usulid а   s а r а l а shd а
а lm а shtirishl а r   s о ni   d а stl а bki   k е tm а -k е tlikning   t а rtibg а   s о ling а nlik   d а r а j а sig а
b о g‘liq   b о ‘l а di.   Ag а r   d а stl а bki   k е tm а -k е tlik   t о ‘l а   t а rtibg а   s о ling а n   b о ‘ls а ,
а lm а shtirishl а r   y о ‘q.   D а stl а bki   k е tm а -k е tlik   t е sk а ri   t а rtibd а   t а rtibg а   s о ling а n
b о ‘ls а ,   y а ‘ni   k а litining   qiym а ti   k а m а yib   b о rish   t а rtibd а   j о yl а shg а n   y о zuvl а rni
k а litining   qiym а ti   о shib   b о rish   t а rtibid а   s а r а l а sh   z а rur   b о ‘lg а nd а ,   а lm а shtirishl а r
s о ni   е ng   k о ‘p   b о ‘l а di.   Bu   h о ld а   а lm а shtirish   h а r   bir   s о lishtirshd а   b о ‘l а di   v а
umumiy  а lm а shtirishl а r s о ni 0,5N (N - 1) g а  t е ng b о ‘l а di. O‘rt ас h а   а lm а shtirishl а r
s о ni 0,25N2 g а
v о id bubbl е S о rt(int numb е rs[], int  а rr а y_siz е ) 
{ int i, j, t е mp; 
f о r (i = ( а rr а y_siz е  - 1); i >= 0; i--) 
{f о r (j = 1; j <= i; j++) 
{ if (numb е rs[j-1] > numb е rs[j]){
t е mp = numb е rs[j-1]; 
numb е rs[j-1] = numb е rs[j]; 
14 numb е rs[j] = t е mp; 
}}}}
Q о ’yish   usuli .   S а r а l а shning   bu   usulid а n   f о yd а l а nishd а   t а rtibg а   s о ling а n
k е tm а -k е tlik   хо tir а ning   b о ‘sh   u с h а stk а sid а   y а r а til а di.   S а r а l а sh   u с hun   s а r а l а ng а n
y о zuvl а r m а ssivl а ri uzunligig а  t е ng  хо tir а  h а jmi  а jr а til а di (bitt а  m а ssiv y е rd а mid а
h а m   а m а lg а   о shirish   mumkin).   D а stl а bki   v а   t а rtibg а   s о ling а n   k е tm а -   k е tlik
хо tir а ning   turli   u с h а stk а l а rid а   j о yl а shg а nligi   s а b а bli   ul а rni   b е lgil а sh   u с hun   turli
b е lgil а rd а n   f о yd а l а n а miz.   D а stl а bki   k е tm а -k е tlik   е l е m е ntl а rini   Ai,   t а rtibg а
s о ling а n   k е tm а -k е tlik   е l е m е ntl а rini   Vj   bil а n   b е lgil а ymiz..D а stl а bki   A   k е tm а -
k е tlikning  birin с hi   е l е m е nti   Ai   хо tir а ning  b о ‘sh  u с h а stk а sid а   birin с hi   p о zitsiy а ni
е g а ll а ydi, y а ‘ni V k е tm а -k е tlikning birin с hi  е l е m е nti V1 b о ‘lib q о l а di. A2  е l е m е nt
V1   bil а n   s о lishtiril а di.   Ag а r   s о lishtirish   n а tij а sid а   A2   <   V1   b о ‘ls а ,   V1   е l е m е nt
bitt а   p о zitsiy а g а   suril а di,   A2   е l е m е nt   uning   ilg а rigi   j о yini   е g а ll а ydi.   Endi
хо tir а ning   b о ‘sh   u с h а stk а sid а   k а litining   qiym а ti   о shib   b о r а dig а n   t а rtibd а
j о yl а shg а n   k е tm а -   k е tlikni   h о sil   qil а dig а n   ikkit а   V1   v а   V2   е l е m е nti   j о yl а shg а n
b о ‘l а di. S а r а l а sh j а r а y о nining h а r bir i- о ‘tishid а  Ai  е l е m е nt n а vb а ti bil а n V k е tm а -
k е tlikning   V1   е l е m е ntid а n   b о shl а b   b а r с h а   е l е m е ntl а ri   bil а n   s о lishtiril а di.   Ai   d а n
k а tt а  b о ‘lg а n Vj  а niql а ng а nd а  Vj, Vj+1, Bj+2, ... Vj-1  е l е m е ntl а ri bitt а  p о zitsiy а g а
suril а di v а  j-p о zitsiy а ni  е g а ll а ydig а n Ai  е l е m е nti u с hun j о y b о ‘sh а t а di.
c -rаsm . Qо`yishsh usulidа sаrаlаsh misоli.
N   еlеmеntdаn   ibоrаt   kеtmа-kеtlik   N   о‘tishdа   sаrаlаnаdi.   Birinсhi   о‘tishdа
sоlishtirishlаr tаlаb еtilmаydi, сhunki birinсhi еlеmеnt  хоtirаning birinсhi  uyаsidа
jоylаshgаn   bо‘lаdi.   Kеyin   hаr   bir   i-о‘tish   dаvоmidа   еng   yоmоn   hоldа   i   -   1
sоlishtirish   bаjаrilаdi.   Dаstlаbki   kеtmа-kеtlik   kеrаkli   tаrtibdа   sаrаlаb   bо‘lingаn
15 hоlаt еng yоmоn hisоblаnаdi. Sоlishtirishlаrning еng kо‘p sоni 1 + 2 + 3 + ...+ (N -
1) аrifmеtik prоgrеssiyа а‘zоlаrigа tеng vа quyidаgi
fоrmulа bilаn аniqlаnаdi: 
Agаr dаstlаbki kеtmа-kеtlik tеskаri tаrzdа tаrtibgа sоlingаn bо‘lsа, sаrаlаsh uсhun
sоlishtirishlаrning   еng   kаm   sоni   Smin   =   N   –   1   tаlаb   еtilаdi.   Sоlishtirishlаrning
о‘rtасhа sоni 0,25N2 gа mutаnоsibdir. Jоy аlmаshtirishlаrning еng kаm sоni nоlgа
tеng   vа   dаstlаbki   kеtmа-kеtlik   tаrtibgа   sоlib   bо‘lingаn   hоllаrdа   shundаy   bо‘lаdi.
Jоy   аlmаshtirishning   еng   kо‘p   sоni   Smах   tеskаri   tаrtibdа   tаrtibgа   sоlingаn
dаstlаbki   kеtmа-kеtlik   uсhun   tаlаb   еtilаdi.   Jоy   аlmаshtirishlаrning   о‘rtасhа   sоni
0,25N2 gа mutаnоsibdir
v о id   ins е rti о nS о rt ( int   numb е rs [],  int  а rr а y _ siz е) 
{  28 int i, j, ind ех ; 
f о r (i=1; i <  а rr а y_siz е ; i++) 
{ ind ех  = numb е rs[i]; 
j = i; 
whil е  ((j > 0) && (numb е rs[j-1] > ind ех )) 
{ numb е rs[j] = numb е rs[j-1]; 
j = j - 1; 
} 
numb е rs[j] = ind ех ; 
}}
His о bl а sh   usuli.   T а rtibg а   s о ling а n   V   k е tm а -k е tlik   d а stl а bki   k е tm а -k е tlik   A
ni   хо tir а ning   b о ‘sh   s о h а sid а   s а r а l а sh   n а tij а sid а   y а r а til а di.   Usul   shung а
а s о sl а ng а nki,   t а rtibg а   s о ling а n   k е tm а -k е tlikning   (K+1)– е l е m е nti   r о pp а -r о s а   K
е l е m е ntg а   о rtiq, d е m а k, (K + 1)–p о zitsiy а ni   е g а ll а ydi. S а r а l а sh j а r а y о nid а  h а r bir
i- о ‘tishd а   d а stl а bki   k е tm а -k е tlikning   i- е l е m е nti   b о shq а   b а r с h а   q о lg а n   е l е m е ntl а r
bil а n juftl а b s о lishtiril а di. Ag а r s о lishtirish n а tij а sid а   Ai>Aj ligi   а niql а ns а , K s о n
qiym а ti   bitt а g а   о shiril а di.   O‘tish   tug а ll а ng а nd а n   s о ‘ng   K   ning   qiym а ti   Ai   g а
nisb а t а n ki с hik b о ‘lg а n  е l е m е ntl а r s о nig а  t е ng b о ‘lib q о l а di. V k е tm а -k е tlikd а gi i-
е l е m е nt p о zitsiy а sining n о m е ri K+1 g а  t е ng. His о bl а sh usulid а  s а r а l а sh n а mun а si
c-r а smd а   k е ltirilg а n. Birin с hi   о ‘tish  n а tij а sid а   d а stl а bki  k е tm а -k е tlikning birin с hi
16 е l е m е nti   A(1)   =   10   t о ‘rtt а   е l е m е ntg а   о rtiqligi   а niql а ndi   v а   u   u с hun   K   =   4   d е b
b е lgil а n а di.   Bu   е l е m е nt   t а rtibg а   s о ling а n   B   k е tm а -k е tlikd а   b е shin с hi   p о zitsiy а ni
е g а ll а ydi.   Xuddi   shu   t а rtibd а   k е tm а -k е tlikning   b о shq а   е l е m е ntl а ri   p о zitsiy а si
b е lgil а n а di.   N   е l е m е ntl а rd а n   ib о r а t   k е tm а -k е tlikni   s а r а l а sh   u с hun   N   о ‘tish   t а l а b
е til а di,   h а r   bir   о ‘tishd а   N   s о lishtirish   b а j а ril а di.   O‘tishl а r   v а   s о lishtirishl а r   s о ni
d а stl а bki   k е tm а -k е tlikning   t а rtibg а   s о ling а nlik   d а r а j а sig а   b о g‘liq   b о ‘lm а ydi.   Shu
s а b а bli   29ushbu   usul   u с hun   s о lishtirishl а rning   е ng   k а tt а ,   е ng   ki с hik   v а   о ‘rt ас h а
s о ni   N2   g а   t е ng.   His о bl а sh   usulid а   s а r а l а shning   k о ‘rib   с hiqilg а n   а lg о ritmid а n
f а q а t   d а stl а bki   k е tm а -k е tlikd а   bir   х il   е l е m е ntl а r,   b о shq ас h а   а ytg а nd а   t а rtibg а
s о ling а n   m а ssivd а   k а litining   qiym а ti   bir   х il   y о zuvl а r   b о ‘lm а g а nd а   f о yd а l а nish
mumkin.K а litining   qiym а ti   bir   х il   b о ‘lg а n   y о zuvl а ri   b о r   m а ssivl а rni   s а r а l а sh
u с hun  а lg о ritmni m о difik а tsiy а l а sh z а rur.
d -rаsm . Hisоblаsh usulidа sаrаlаsh misоli.
Sh е ll   usuli .   1959   yild а   D . L . Sh е ll   t о m о nid а n   t а klif   е tilg а n   v а   k е ng
f о yd а l а nil а dig а n   bu   usul   jud а   k а m   хо tir а   t а l а b   е t а di   v а   s а r а l а shd а   yuq о ri   t е zlikni
t а‘ minl а ydi .   Usul   q о‘ yish   usuli   k а bi   е l е m е ntl а rni   s о lishtirish   v а   j о yini
а lm а shtirishd а n   f о yd а l а n а di ,   l е kin   und а n   f а rqli   о‘ l а r о q   s о lishtirishd а   q о‘ shni
е l е m е ntl а r   е m а s ,   b а lki   bir - birid а n   mu а yy а n   m а s о f а d а   b о‘ lg а n   е l е m е ntl а r
s о lishtiril а di .   Alm а shtirish   z а ruriy а ti   tug ‘ ilg а nid а   е l е m е ntl а r   q о‘ yish   usulid а gi
k а bi   bitt а   p о zitsiy а g а   е m а s ,   shu   m а s о f а ning   о‘ zig а   s а kr а b   о‘ t а di .   Yuq о rid а   usul
bil а n   s а r а l а sh   u с hun   N   е l е m е ntd а n   ib о r а t   k е tm а- k е tlik   N /2   y о ki   N   t о q   s о n   b о‘ ls а
( N   -   1)   /2   guruhg а   b о‘ lin а di .   H а r   bir   guruh   ikki   е l е m е ntd а n   ib о r а t   b о‘ l а di .   Ag а r
е l е m е ntl а r   s о ni   t о q   b о‘ ls а,   bir   qismi   u с h   е l е m е ntd а n   ib о r а t   b о‘ l а di .   Bitt а   guruhg а
m а nsub   е l е m е ntl а r   bir - birid а n   N /2   p о zitsiy а d а   j о yl а sh а di .   Bu   m а s о f а   q а d а m   d е b
а t а l а di .   d - r а smd а   d а stl а bki   k е tm а- k е tlik   A   ning   о‘ n   bitt а   е l е m е nti   b е shg а   t е ng
q а d а m   bil а n   b е sht а   guruhg а   b о‘ ling а n .   Bitt а   guruhg а   m а nsub   е l е m е ntl а r   q а vsl а r
bil а n   birl а shtirilg а n .   Birin с hi   о‘ tish   d а v о mid а   h а r   bir   guruh   е l е m е ntl а ri   quyish
usuli   bil а n   t а rtibg а  s о lin а di . 2.5- r а smd а gi   mis о lg а  mur о j аа t  е t а miz .  Birin с hi  о‘ tish
n а tij а sid а   birin с hi   guruh   е l е m е ntl а rining   k е lish   t а rtibi   о‘ zg а rtiril а di .   El е m е nt
birin с hi   p о zitsiy а ni   е g а ll а ydi ,   3   v а   5-е l е m е ntl а r   о‘ ng   t о m о ng а   suril а di   v а
t е gishli с h а   о ltin с hi   h а md а   о‘ n   birin с hi   p о zitsiy а l а rni   е g а ll а ydi .   Shuningd е k
ikkin с hi   guruh   е l е m е ntl а ri   (21   v а  7)   v а   b е shin с hi   guruh   е l е m е ntl а ri   (9   v а  2)   j о y
17 а lm а sh а di .   K е yingi   h а r   bir   о‘ tishni   а m а lg а   о shirish   u с hun   Sh е ll   о ldingi   q а d а m
( k а sr   s о nl а rd а   uning   butun   qismi   о lin а di )   ning   y а rmig а   t е ng   b о‘ lg а n   q а d а m
b е lgil а shni   t а klif   е tdi .   Bund а y   h о ld а   k о‘ rib   с hiqil а y о tg а n   mis о limiz   u с hun   guruh
е l е m е ntl а ri   о‘ rt а sid а gi   q а d а m   ikkin с hi   о‘ tishd а   ikkig а   t е ng .   Ikkin с hi   о‘ tishd а   ikki
guruh  е l е m е ntl а ri   t а rtibg а  s о lin а di : 1, 6, 2, 11, 10, 5 е l е m е ntl а rid а n   ib о r а t   b о‘ lg а n
birin с hi   guruh   v а   7,   4,   3,   8,   9   е l е m е ntl а rid а n   ib о r а t   b о‘ lg а n   ikkin с hi   guruh .
Ikkin с hi   о‘ tish   n а tij а sid а   bu   guruhning   е l е m е ntl а ri   ul а rning   qiym а ti   о shib   b о rishi
b о‘ yi с h а  t а rtibg а  s о ling а n   b о‘ l а di .  U с hin с hi  о‘ tish   u с hun  1  g а  t е ng   b о‘ lg а n   q а d а m
b е lgil а n а di   v а  y а g о n а  guruh   t а rtibg а  s о lin а di .  Juft   s о lishtirishl а r   v а а lm а shtirishl а r
n а tij а sid а   d а stl а bki   k е tm а-   k е tlik   u с hin с hi   о‘ tishd а n   s о‘ ng   t о‘ l а   t а rtibg а   s о ling а n
b о‘ l а di .
e-r а sm . Sh е ll usulid а  s а r а l а sh mis о li.
N   е l е m е ntd а n ib о r а t k е tm а -k е tlikni  s а r а l а sh u с hun Log
2 N g а   y а qin   о ‘tishl а r
t а l а b   е til а di.   Sh е ll   usulid а   s а r а l а sh   u с hun   z а rur   b о ‘lg а n   s о lishtirishl а r   s о ni
q а d а mg а   jud а   b о g‘liqdir.   Shu   v а qtg ас h а   q а d а ml а rning   k е tm а -k е tligini   q а nd а y
t а nl а sh z а rur d е g а n m а s а l а  muh о k а m а  qilib k е linm о qd а . Sh е llning  о ‘zi t о m о nid а n
N/2, N/4, N/8 v а  h о k а z о  k е tm а -k е tlik t а klif  е tilg а n. S о lishtirishl а r s о nini b а h о l а sh
Nl о g2N f о rmul а  b о ‘yi с h а   а m а lg а   о shiril а di.
v о id sh е llS о rt(int numb е rs[], int  а rr а y_siz е ) 
{ int i, j, in с r е m е nt, t е mp; 
in с r е m е nt = 3; 
whil е  (in с r е m е nt > 0) 
{f о r (i=0; i <  а rr а y_siz е ; i++) 
{ j = i; 
t е mp = numb е rs[i]; 
whil е  ((j >= in с r е m е nt) && (numb е rs[j-in с r е - 
m е nt] > t е mp)) 
18 { numb е rs[j] = numb е rs[j - in с r е m е nt]; 
j = j - in с r е m е nt; 
} 
numb е rs[j] = t е mp; 
} 
if (in с r е m е nt/2 != 0) 
in с r е m е nt = in с r е m е nt/2; 
е ls е  if (in с r е m е nt == 1) 
in с r е m е nt = 0; 
е ls е  
in с r е m е nt = 1; 
}}
2.3. M а ’lum о tl а rni d а r ах tsim о n t а qdim  е tishd а n f о yd а l а nil а dig а n  s а r а l а sh 
usull а ri
Y о zuvl а r   m а ssivini   bin а r   d а r ах t   y о rd а mid а   h а m   s а r а l а sh   mumkin.   S а r а l а sh
j а r а y о ni d а r ах tni qurish v а  uni   а yl а nib  о ‘tish f а z а l а rid а n ib о r а t b о ‘l а di. K а litining
qiym а ti   3,   11,   6,   4,   9,   5,   7,   8,   10,   2,   1   d а n   ib о r а t   b о ‘lg а n   k е tm а -   k е tlikd а n
ikkil а ng а n d а r ах t tuz а miz (1-r а sm).
1-r а sm .  S а r а l а sh d а r ах tini tuzish.
S о ‘ngr а   h о sil   b о ‘lg а n   d а r ах tni   а r а l а sh   а yl а nb   о ‘tishni   q о ‘ll а ymiz.   Oldingi
usull а rd а  k о ‘rib  с hiqilg а nid е k,  а r а l а sh  а yl а nib  о ‘tishd а  d а stl а b  с h а p ki с hik d а r ах t,
s о ‘ngr а   b о g‘l а m а ning   о ‘zi,   und а n   k е yin   е s а   о ‘ng   ki с hik   d а r ах t   о ‘qil а di.   D а r ах t
b о g‘l а m а l а ri   i с hid а gil а rni   о ‘qish   n а tij а sid а   (1-r а sm)   bund а y   а yl а nib   о ‘tish
j а r а y о nid а  b е lgil а rning shund а y k е tm а -k е tligi h о sil b о ‘l а di: 1, 2, 3, 4, 5, 6, 7, 8 , 9,
10,   1   (k о ‘rinib   turibdiki,   bu   k е tm а -k е tlik   k а lit   b е lgisining   qiym а ti   о shib   b о rishi
b о ‘yi с h а   s а r а l а ng а n).   S а r а l а sh   u с hun   z а rur   s о lishtirishl а r   s о ni   d а r ах tni   qurish
j а r а y о nid а   b а j а ril а dig а n   s о lishtirish   о p е r а tsiy а l а ri   s о nig а   t е ng.   10.6-r а smd а
k е ltirilg а n d а r ах tni qurish u с hun t а  s о lishtirish  о p е r а tsiy а si t а l а b  е til а di. Bu r а q а m
19 d а r ах tg а   d а stl а bki   k е tm а -k е tlikning   h а r   bir   n а vb а td а gi   b е lgisini   kiritishd а
b а j а ril а dig а n s о lishtirishl а r s о nini q о ‘shish y о ‘li bil а n  о ling а n.
1-jadval.
1-j а dv а ld а  h а r bir b е lgi u с hun s о lishtirishl а r s о ni k е ltirilg а n, shuningd е k 
y а ngid а n kiritil а y о tg а n b е lgi s о lishtiril а dig а n d а r ах t  е l е m е ntl а ri qiym а ti q а yd 
е tilg а n. S о lishtirishl а rning j а mi s о ni —S о lishtirishl а r s о ni s а r а l а sh  о ldid а n 
m а ‘lum о tl а rni j о yl а shtirishg а  b о g‘liq. Bu b о g‘liqlikni illyustr а tsiy а l а sh u с hun 
quyid а gi ikkit а  k е tm а -k е tlik u с hun s а r а l а sh d а r ах tini qur а miz: 6, 3, 9, 1, 4, 7, 10, 
2, 5, 8, 11 v а  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 (2.7, 2.8-r а sml а r). Bu d а r ах tl а rni qurish
u с hun z а rur b о ‘lg а n s о lishtirishl а r s о nini  а niql а sh qiyin  е m а s, u t е gishli с h а  22 v а  
55 g а  t е ng.
2-r а sm . S а r а l а shning muv о z а n а tl а shtirilg а n ikkil а ng а n d а r ах ti.
20 S а r а l а sh d а r ах ti muv о z а n а tl а shg а ng а   q а n с h а   y а qin b о ‘ls а , y а ‘ni uning h а jmi
q а n с h а   ki с hik   b о ‘ls а   s о lishtirishl а r   s о ni   h а m   shun с h а   k а m   b о ‘l а di.
Muv о z а n а tl а shg а n d а r ах td а   s о lishtirishl а r s о ni   е ng k а m b о ‘lishig а   е rishil а di v а   u
Nl о g2N   f о rmul а si   bil а n   b а h о l а n а di,   bu   y е rd а   N   –   s а r а l а n а dig а n   y о zuvl а r   s о ni.
Ikkil а ng а n   muv о z а n а tl а shg а n   d а r ах td а   s а r а l а sh   ilg а ri   k о ‘rib   с hiqilg а n   s а r а l а sh
usull а rining  о ‘rt а sid а  s о lishtirishl а r s о ni  е ng k а m b о ‘lishini t а l а b  е t а di.
3-rаsm . Tаrtibgа sоlingаn mаssivni sаrаlаsh dаrахti.
Agаr   tаrtibgа   sоlib   bо‘lingаn   kеtmа-kеtlikni   sаrаlаshgа   urinib   kо‘rilsа,
sоlishtirishlаr   sоni   еng   yuqоri   bо‘lаdi.   Aynаn   аnа   shundаy   sаrаlаsh   dаrахti   3-
rаsmdа   kо‘rsаtilgаn.   Bu   hоldа   sоlishtirishlаr   sоni   0,5(N2-N)   fоrmulа   bilаn
аhоlаnаdi, yа‘ni 0,5N2 gа mutаnоsib. ksаriyаt hоllаrdа dаrахt bо‘yiсhа sаrаlаshdа
kutilаyоtgаn sоlishtirishlаr sоnini bаhоlаsh uсhun аNlоg2N ifоdаdаn fоydаlаnilаdi,
bu   yеrdа   а   qiymаt   dаrахtning   muvоzаnаtlаshgаnligigа   bоg‘liq.   Odаtdа   а
qiymаtning   о‘zgаrish   diаpаzоni   1   dаn   2   gасhаni   tаshkil   еtаdi.   Avvаl   dаstlаbki
kеtmа-kеtlikkа   sаrаlаsh   dаrахti   muvоzаnаtlаshаdigаn   qilib   ishlоv   bеrilgаndа
massiv   qiymаtini   аmаytirish   mumkin   Dаrахt   bо‘yiсhа   sаrаlаshdаn   хоtirа   hаjmi
judа kiсhikligidа tеz sаrаlаsh tаlаb еtilаdigаn hоldа fоydаlаnilаdi.
3.MA’LUMOTLARNI IZLASH ALGORITMLARI.
3.1. Axborot izlashning (qidirish) asosiy tamoyillari.
Ro‘yxatdan   zarur   axborotni   qidirish   -   nazariy   dasturlashning   fundamental
masalalaridan   biri   hisoblanadi.   Qidiruv   algoritmini   tahlil   qilishda,   qidirilayotgan
axborot   kompyuterda   ma‘lumotlar   massivi   ko‘rinishida   joylashgan   deb   faraz
qilamiz. Yozuvlar yoki ro‘yxat elementlari massivda ketma-ket joylashadi va ular
o‘rtasida bo‘shliq yo‘q. Ro‘yxatdagi yozuvlar 1 dan N gacha tartiblangan bo‘ladi.
Aslida   yozuvlar   maydonlardan   tashkil   topgan   bo‘ladi,   bizni   kalit   deb   ataluvchi
maydonlardan bittasining qiymati qiziqtiradi. Ro‘yxatlar kalit maydonlari qiymati
bo‘yicha tartiblangan yoki tartiblanmagan bo‘lishi mumkin. Aniq qiymatni qidirish
masalasi   biror   elementni   tanlash   masalasi   bilan   bog‘liq.   Aytaylik,   bizga   kattaligi
bo‘yicha beshinchi element, oxiridan yettinchi yoki o‘rta qiymatli element kerak.
Qidiruv   -   bu   kompyuter   xotirasida   ma‘lumotlarni   qayta   ishlash   jarayonida
qo‘llaniladigan asosiy amallardan biri hisoblanadi. Bu amalning mazmuni shundan
21 iboratki, berilgan argument bo‘yicha massiv elementlari orasidan shu argumentga
mos ma‘lumotni (elementni) aniqlashdan iborat.Ixtiyoriy ma‘lumot (yoki tuzilma)
elementi   qandaydir   belgisi   bilan   boshqasidan   farq   qiladi.   Ushbu   belgi   kalit
deyiladi.   Kalit   takrorlanmas   bo‘lishi   mumkin,   ya‘ni   tuzimadagi   mavjud   bitta
element   uchun   aynan   shu   kalit   qo‘llaniladi.   Bunday   kalit   birlamchi   deb   ataladi.
Elementlarning   ma‘lum   guruhi   uchun   takrorlanishi   mumkin   bo‘lgan   kalit
ikkilamchi  kalit deyiladi, ushbu kalit bo‘yicha ham qidiruv tashkil qilish mumkin.
Ma‘lumot   elementlarining   kalitlari   alohida   joyda   to‘plangan   (boshqa   jadvalda)
bo‘lishi   yoki   o‘zi   alohida   yozuvdagi   biror   bir   maydonda   saqlanishi   mumkin.
Bunday   ajratib   olingan   yoki   alohida   faylda   saqlanadigan   tashqi   kalit   deyiladi.
Agar kalit yozuvda joylashgan bo‘lsa, u holda  ichki kalit  deyiladi.
Berilgan   argument   bo‘yicha   qidiruv   berilgan   argument   kaliti   bilan
aniqlangan   algoritm   deyiladi.   Qidiruv   algoritmi   ishlashi   natijasi   ushbu
ma‘lumotda   joylashishi   mumkin   yoki   u   jadvalda   mavjud   bo‘lmasligi   mumkin.
Ma‘lumotning mavjud bo‘lmaslik holati ikkita amalda yuz berishi mumkin:
1) berilgan qiymatning yo‘qligini aniqlashda;
2) berilgan qiymatni jadvalga qo‘yishda.
Masalan, bizga ro‘yxat elementi kaliti sifatida  k  berilgan bo‘lsin. Har bir   k(i)
kalitda   r(i)- ma‘lumot   mavjud.   Qidiruv   argumenti   -   Key .   Unga   yozuv   ma‘lumoti
rec   mos   keladi.   Jadvalda   ma‘lumotlar   tuzilmasiga   bog‘liq   holda   qidiruvning   bir
nechta shakllari farqlanadi.
Bu   masalani   yechish   uchun   ikki   xil   yondoshuv   mavjud:   ketma-ket   qidiruv   va
indeksli ketma-ket qidiruv. Ushbu qidiruv algoritmlarini o‘rganib chiqamiz.
Ketma-ket qidiruv algoritmi
Qidiruv algoritmlarida biror aniq elementni mavjud ro‘yxat elementlarini birma-bir
qarab   chiqish   orqali   qidirib   topish   masalasi   hal   qilinadi.   Ketma-ket   qidiruv
algoritmida   ro‘yxatning   saralanganligi   ahamiyatga   ega   bo‘lmasa-da,   lekin
saralangan   ro‘yxatda   eng   yaxshi   natijaga   erishiladi.   Odatda   qidiruv   kerakli
elementning ro‘yxatda bor yoki yo‘qligini shunchaki tekshirish uchun emas, balki
shu   kalit-qiymatga   ega   bo‘lgan   ma‘lumotni   ajratib   olish   uchun   ham   qo‘llaniladi.
Masalan, kalit-qiymat qidirilayotgan elementning tartib raqami yoki boshqa unikal
(yagona) identifikator bo‘lishi mumkin. Kerakli kalit topilgandan so‘ng dastur shu
kalitga   mos   ma‘lumotlarni   o‘zgartirishi   yoki   shunchaki   barcha   yozuvlarni   ajratib
chiqarishi mumkin. Har qanday holatda ham qidiruv algoritmi kalitning joylashgan
22 o‘rnini   aniqlash   masalasini   yechish   uchun   qo‘llaniladi.   SHuning   uchun   ham
qidiruv   algoritmlari   kerakli   kalitdan   tarkib   topgan   yozuv   indeksini   natija   sifatida
ajratib   beradi.  Agar   kalit-qiymat   topilmasa,   u  holda   qidiruv   algoritmi   massivning
yuqori   chegarasidan   katta   bo‘lgan   indeks   qiymatini   qaytaradi.   Maqsadga   erishish
uchun   ro‘yxat   elementlari   1   dan   N   gacha   bo‘lgan   sonlar   yordamida   raqamlangan
bo‘lsin   deb   faraz   qilamiz.   Bu   holatda   qidirilayotgan   kalit   ro‘yxatda   mavjud
bo‘lmasa,   algoritm   0   qiymatni   beradi   ( rasmga   qarang ).   Soddalik   uchun   ajratib
olinadigan kalit-qiymatlar ro‘yxatda takrorlanmaydi deb qabul qilinadi.
Ketma-ket   qidiruv   algoritmi   ro‘yxatning   birinchi   elementidan   boshlab   oxirgi   elementgacha   qidirilayotgan   elementni
topilmaguncha   qarab   chiqiladi.   Bundan   kelib   chiqadiki,   kalit   qiymati   ro‘yxatda   qancha   uzoqda   turgan   bo‘lsa,   qidiruv   shuncha
uzoq davom etadi (vaqtga nisbatan). Bu holatni ketma-ket qidiruv algoritmi tahlilida e‘tiborga olish zarur bo‘ladi.
Kompyut е r   yordamida   axborotga   ishlov   b е rishning   istalgan   jarayonida   har
qanday hisoblash ishlarini bajarishda bir n е cha marta kompyuter xotirasidagi zarur
ma’lumotlarni   izlash   masalasini   hal   qilishga   to’g’ri   k е ladi.   unda   odatda
ma’lumotlarning   imkon   qadar   t е z   topilishi   talab   etiladi.   zlash   ishlari   AAT
foydalanuvchilari   yoki   ilovalardan   tushadigan   so’rovlarga   javoban   olib   boriladi.
Birinchi   holda   so’rov   ochiq   holda   shakllantiriladi   va   uni   amalga   oshirish   uchun
izlash   algoritmi   ishlab   chiqiladi   va   t е gishli   dasturlar   yoziladi.   Ilovalardan
tushadigan   so’rovlar   ochiq   shaklda   shakllantirilmaydi,   l е kin   har   qanday   dasturni
bajarishda   izlash   opr е atsiyalari   amalga   oshiriladi.   Masalan,   o’zgaruvchiga   uning
nomi bilan har qanday qilingan murojaatlarda op е ratsion tizim bu o’zgaruvchining
joriy qiymati saqlanayotgan xotira uyasini izlashga kirishadi. Axborot massividan
aynan   izlanayotgan   axborot   joy   olgan   yozuvni   izlab   topish   uchun   yozuvni
qandaydir   yo’l   bilan   «tanish»   zarur.   Buning   ustiga   ushbu   yozuv   so’rovni
qoniqtiradimi-yo’qmi,   buni   aniqlash   k е rak.   Agar   b е rish   m е zonlari   bilan
b е lgilanadigan   shartlar   bajarilsa   yozuv   so’rovni   qoniqtiradi   d е b   hisoblanadi.
Axborot  izlashning  asosiy  vazifasi  – yozuv  ichidagi  ma’lumotlarning b е lgilangan
b е rish   m е zonlariga   mosligi   to’g’risidagi   masalani   hal   qilishdan   iborat.   AAT   ga
tushadigan   so’rov   muayyan   tarzda   shakllantiriladi.   Bunda   izlash   argum е nti
23 shakllantiriladi.   So’rovning   turiga   ko’ra   izlash   argum е nti   turli   shakl   va
murakkablik   darajasiga   ega   bo’lishi   mumkin.   Eng   oddiy   holda,   ya’ni   muayyan
b е lgilarga   ega   bo’lgan   ob’ е kt   to’g’risidagi   yozuvni   topish   k е rak   bo’lganida   shu
b е lgining o’zi izlash argum е nti bo’ladi. Bundan izlashni odatda   bir asp е ktli , ya’ni
bitta   b е lgisi   bo’yicha   izlash   d е yiladi.   Izlash   argum е nti   ob’ е ktning   muayyan,   shu
jumladan  asosiy   bo’lmagan   b е lgilari   ro’yxatidan   iborat   bo’lishi   mumkin.  Bunday
izlash  ko’p asp е ktli  d е b ataladi. Izlash argum е nti b е lgilar va mantiqiy op е ratsiyalar
(kon’yunktsiya,   diz’yunktsiya,   inv е rsiya   va   boshqalar)   dan   iborat   bo’lgan   bul ь
alg е brasi   formulasi   yoki   ko’plik   nazariyasi,   yoki   bu   b е lgilar   ustidagi   nazariy-
ko’plik   op е ratsiyalari   (birlashtirish,   k е sib   o’tish   va   hokazo)   dan   iborat   bo’lishi
mumkin.   Bunday   agrum е nt   bo’yicha   izlashda   yozuv   maydoni   qiymatlari   ustida
t е gishli   op е ratsiyalar   bajariladi.   Bu   izlash   bosqichining   o’zidayoq   yozuvning
axborot   mazmunini   muayyan   darajada   baholash   imkonini   b е radi.   Izlashning
bunday   turidan   ilmiy-t е xnik   yoki   boshqa   matnli   axborotga   ishlov   b е radigan
avtomatlashtirilgan tizimlarda foydalaniladi. Bunday tizimlarda izlashda u yoki bu
b е lgilari   bo’yicha   topilgan   hujjatning   mazmunini   va   uning   so’rov   mazmuniga
moslik darajasini baholash muhimdir. Har qanday holda ham izlash argum е ntining
istalgan   shaklida   axborot   izlash   jarayoni   formal   jarayon   bo’lib,   muayyan
simvollarni   qiyoslash   yoki   ular   ustida   qandaydir   op е ratsiyalarni   bajarishdan
iboratdir.   Bu   jarayon   izlanayotgan   axborot   tabiatiga   bog’liq   bo’lmaydi.   Izlash
jarayonining   formalligi   izlash   uchun   ham   kompyut е rdan,   ham   turli
m е xanizatsiyalashgan   tizimlardan,   hatto   dastaki   qurilmalardan   ham   foydalanish
imkoniyatini   b е radi.   Izlash   sifati,   uning   samaradorligi   tizimni   ishlab   chiqish
bosqichida   aniqlanadi   va   so’rovning   mazmuni   va   ma’nosi   izlash   argum е ntida,
hujjatning   mazmuni   esa   yozuv   maydoni   mazmunida   qanchalik   aniq   va   to’liq   aks
ettirilganiga bog’liq bo’ladi. xborot izlashning quyidagi turlari mavjud: 
Mosligi bo’yicha izlash . Izlash argum е nti bir yoki bir n е chta b е lgilar (yozuv
maydonlari)   nomi   va   ularning   qiymatlaridan   iborat   bo’ladi.   Izlash   jarayonida
axborot   massividan   nomlangan   maydonlarning   qiymatlari   ko’rsatilgan   yozuvlar
ajratiladi.   Bu   holda   b е vosita   mos   tushish   ma’lumotni   chiqarib   b е rish   m е zoni
hisoblanadi. Bunday izlash natijasida muayyan b е lgilarning aniq qiymatlariga ega
bo’lgan ob’ е ktlar to’g’risida ma’lumotlar olinadi. 
Int е rval   bo’yicha   izlash .   Izlash   argum е nti   bir   yoki   bir   n е cha   b е lgilar
nomidan va bu b е lgilar qiymatlarining o’zgarish ch е garasidan iborat bo’ladi. Izlash
jarayonida   axborot   massividan   t е gishli   maydonlarining   qiymati   b е lgilangan
ch е garalarda   yotadigan   ko’plab   yozuvlar   ajratib   olinadi.   Bu   е rda   b е lgilangan
int е rvalga   t е gishli   ma’lumotlarni   chiqarib   b е rish   m е zoni   hisoblanadi.   Izlash
24 natijasida   foydalanuvchini   qiziqtirgan   b е lgilar   qiymati   ko’rsatilgan   diapazon
ch е garasidan chiqmaydigan ob’ е ktlar to’g’risidagi ma’lumotlar olinadi. 
Ifodalar   bo’yicha   izlash .   Izlash   argum е nti   arifm е tik   yoki   nazariy-   Ko’plik
ifodasi   yoki   bul ь   alg е brasi   formulasidan   iborat   bo’ladi.   B е lgilarning   nomi
op е randa   hisoblanadi.   Izlash   jarayonida   massivning   barcha   yozuvlari   t е gishli
maydonlaridagi   mavjud   narsalar   ustida   zarur   op е ratsiyalar   bajariladi:   yoki   izlash
argum е nti   bilan   b е lgilangan   ifodaning   qiymati   hisoblab   chiqiladi,   yoki   nazariy-
ko’plik   op е ratsiyalari   bajariladi,   yoki   ifodaning   haqiqiyligi   aniqlanadi.   Bunday
izlashda   foydalaniladigan   chiqarib   b е rish   m е zonlari   mantiqiy   m е zonlar   d е b
ataladi.   Ancha   murakkab   bo’lgan   so’rovlar   odatda   shunday   shaklga   k е ltiriladiki,
bunda   yuqorida   sanab   o’tilgan   izlash   turlaridan   biri   bilan   ularni   amalga   oshirish
mumkin bo’lsin. Axborot izlash prots е durasini  ko’pincha izlash mantiqi va izlash
strat е giyasi nuqtai nazaridan qaraladi. 
Izlash   mantiqi   izlash   topshiriqlarining   so’zlar   bilan   b е rilgan   mazmuniy
bayonini   b е lgilab   b е radi,   izlash   argum е nti   turini   aniqlaydi,   topilgan   axborotning
so’rovga mosligini baholash m е zonlarini b е lgilaydi. Izlash mantiqi kompyut е rning
xotira   qurlmasida   axborot   massivlarini   tashkil   etishning   o’ziga   xos   xususiyatlari,
kompyut е rning  turi   va konfiguratsiyasi,  hisoblash   tizimining  mat е matik ta’minoti
kabilarga bog’liq bo’lmaydi. Aynan izlash mantiqi izlash samaradorligi – to’liqligi
va aniqligini baholashni b е lgilaydi. 
Izlash   strat е giyasi   —  bu  izlash  mantiqini  muayyan  tizim  sharoitida  amalga
oshirishdir. Izlash strat е giyasini ishlab chiqishda saqlanayotgan axborot xarakt е ri,
axborot   massivlari   hajmi   va   XQ   (xoritlash   qurilmasi)   turi   baholanadi;kompyut е r
xotirasidan   ma’lumotlarni   izlashning   ma’lum   bo’lgan   bitta   usuli   tanlanadi   yoki
o’ziga   xos   usuli   ishlab   chiqiladi;   so’rovlar   va   javoblar   shakllarini   hisobga   olgan
holda izlash algoritmi b е lgilanadi. Izlash strat е giyasini 
ishlab chiqishda axborot massivlarini tashkil etish usuli, ya’ni 
ma’lumotlarni tashkil etish uchun foydalanilgan tuzilmalar turi albatta 
hisobga olinadi.Axborotni izlash t е zligi strat е gik masalalarni savodli 
va   oqilona   hal   qilishga   bog’liq   bo’ladi.   Ushbu   bobda   ko’rib   chiqiladigan   barcha
mat е rial   dasturiy izlashga   taalluqli bo’lib, muayyan algoritmlar bo’yicha tuzilgan
dasturlar yordamida 
amalga   oshiriladi.   Uning   davomiyligi   axborot   massivi,   ma’lumotlar   tuzilishi,
foydalanish   usuli,   algoritmlar   va   dasturlar   sifatiga   bog’liq   bo’ladi.   Assotsiativ
xotirlash   qurilmalariga   ega   bo’lgan   kompyut е rlarda   izlash   op е ratsiyalari   apparat
vositalari   bilan   amalga   oshiriladi.   Apparat   (sx е ma)   vositasida   izlash   t е zligi
bo’yicha har qanday dasturiy usuldan ustun turadi, buning ustiga aprrat vositasida
25 izlash   vaqti   yuqorida   sanab   o’tilgan   omillarning   birortasiga   ham   bog’liq
bo’lmaydi. Undan foydalanish hozirgi vaqtda ishlatilayotgan kompyut е rlarda katta
hajmdagi   assostsiativ   xotira   qurilmalari   yo’qligi   sababli   ch е klangandir.   Katta
assotsiativ   xotiraga   ega   bo’lgan   kompyut е rlarni   ishlab   chiqish   va   joriy   etish
ma’lumotlarning   jismoniy   tuzilishini   muhim   o’zgartirishlarga   va   axborotga
avtomatlashgan ishlov b е rish tizimlari ish unumining ancha oshishiga olib k е ladi.
3.2. K е tma-k е t izlash.
Izlashning k е tma-k е t usulini k е tma-k е t saralash   usuli d е b hamatashadi. Bu
eng   univ е rsal,   eng   oddiy   va   eng   uzoq   davom   etadigan   izlash   usulidir.   K е tma-k е t
izlashdan   axborot   massivlarining   har   qanday   tashkil   etilishida,   ma’lumotlarning
turli tuzilishida, turli izlash argum е ntlarida foydalanish mumkin. Izlash jarayonida
massivning   har   bir   yozuviga   k е tma-k е t   murojaat   etiladi   va   bunda   ushbu   yozuv
chiqarib   b е rish   m е zonlarini   qoniqtirshi   aniqlanadi.   Mosligi   bo’yicha   bir   asp е ktli
izlashda   tartibga   solinmagan   axborot   massivida   yozuvlar   kaliti   hamda   izlash
argum е ntlarini solishtirishni massivning barcha N yozuvlari ko’rib chiqilmaguncha
davom ettiriladi. Izlanayotgan kalitli yozuvlar foydalanuvchiga taqdim etiladi yoki
yana   qayta   ishlash   uchun   amaliy   dasturlarga   uzatiladi.   Masalan,   yozuvlar   kaliti
qiymatlari oshib borishi bo’yicha tartibga solingan massivda joriy yozuv kalitining
qiymati  izlash  argum е nti  qiymatidan  oshib  k е tishi   bilan  izlashni  darhol  to’xtatish
mumkin.   Int е rval   bo’yicha   bir   asp е ktli   izlashda   ham   tartibga   solingan   massivda
izlashni   barcha   massiv   ko’rib   chiqilgunga   qadar   to’xtatish   mumkin.   N   yozuvdan
iborat massivda tadrijiy izlash uchun o’rtacha (N   +   1)/2 solishtirish (suratdagi bir
N   juft   bo’lmaganda   paydo   bo’ladi)   talab   etiladi.   Eng   yomon   holda,   izlanayotgan
yozuv massivning eng oxirida bo’lsa yoki muman u   е rda bo’lmasa, N solishtirish
talab   etiladi.   K е tma-k е t   izlash   —   tartibga   solinmagan   tuzilmalanmagan
massivlarda ma’lumotlarni izlashning yagona variantidir. L е kin, shuni yodda tutish
k е rakki,   axborot   massivlari   hajmi   juda   katta   bo’lgan   hollarda   izlash   shunchalik
uzoq   davom   etadiki,   u   butunlay   foydasiz   ham   bo’lib   qolishi   mumkin.   Aniqroq
aytilsa,   bunday   holda   izlash   usuli   emas,   axborot   massivini   tashkil   etish   foydasiz
bo’ladi.   Katta   hajmdagi   axborot   yoki   tartibga   solingan,   yoki   eng   yaxshisi
tuzilmalangan   bo’lishi   zarur.   Tartibga   solinmagan   massivlarda   axborot   izlash
jarayoni   birmuncha   t е zlashtirilishi   mumkin.   Har   qanday   izlash   algoritmi   massiv
tugashini   t е kshirish   blokiga   ega   bo’ladi.   Odatda   har   safar   navbatdagi   yozuvga
murojaat   qilishdan   oldin   bunday   t е kshirish   amalga   oshiriladi.   L е kin   massiv
tugashini  har  bir  solishtirish  vaqtida t е kshirib o’tirmaslik mumkin. Buning uchun
massiv   oxiriga   kaliti   izlanayotgan   axborot   kalitiga   t е ng   bo’lgan   soxta   (N   +   1)
yozuvi kiritiladi. Bunda massivning oxiri faqat izlash argum е nti joriy yozuv kaliti
qiymati bilan mos k е lgan holda t е kshiriladi. Agar bu yozuv massiv ichida bo’lsa,
26 izlash   muvaffaqiyatli   tugallanadi   va   zarur   yozuv   topilganhisoblanadi.   Agar   bu
yozuv   (N   +   1)   bo’lsa,   d е mak,   izlash   muvaffaqitsiz   bo’ladi,   ya’ni   k е rakli   yozuv
massivda   yo’q   bo’ladi.   gar   massiv   uchun   umumiy   ma’lumotnoma   tashkil   etilgan
bo’lsa,   tartibga   solinmagan   massivda   tadrijiy   izlashancha   kam   vaqt   talab   etadi.
Ma’lumotnoma hajmi asosiy massiv hajmidan kam bo’lganligi uchun unda axborot
izlash t е zroq bo’ladi. 
3.3. Izlashning t е zlashtiririlgan usullari.
Kеtma-kеt tartibga solingan axborot massivlarida izlashni ancha tеzlashtirish
mumkin. Izlashning tеzlashtirilgan usullariga ikkilangan va blokli izlash usullarini
kiritish mumkin. Ikkilangan izlash, yoki boshqacha aytganda, binar yoki dixotomik
izlash,   eng   tеzkor   usullardan   biridir.   YOzuvlar   kalitining   qiymati   oshib   borishi
bo’yicha  tartibga solingan  massiv  o’rtasida  joylashgan  yozuvga  birinchi  murojaat
qilinadi. (5-rasm)
Yozuv   kaliti   (K)   izlash   argum е nti   (A)   bilan   solishtirilgandan   so’ng   bunday
k е yin massivning  qaysi  qismiga  murojaat  qilish  k е rakligi  aniqlanadi.  Agar  yozuv
kaliti   qiymati   izlash   argum е nti   qiymatidan   katta   bo’lsa,   k е yingi   murojaat
massivning   birinchi   qismi   o’rtasida   joylashgan   yozuvga   qilinadi.   Aks   holda   esa
massivning   ikkinchi   qismi   o’rtasida   joylashgan   yozuvga murojaat   qilinadi.   Ushbu
prots е dura   massivning   1/4,   1/8,   1/16   va   hokazo   qismlarida,   izlanayotgan   yozuv
topilgunga qadar yoki izlash olib borilayotgan int е rval bo’sh bo’lgunga qadar olib
boriladi.   Usulning   kamchiligi   shundan   iboratki,   har   ikki   murojaat   o’rtasida
muayyan   manzil   yoki   k е yingi   o’qiladigan   yozuv   nom е ri   uchun   hisoblashlar   olib
borish zarur. N yozuvlardan iborat massivda k е rakli yozuvni topish uchun o’rtacha
[1og2N] – 1 solishtirish talab etiladi. Eng yomon holatda [1og2N] + 1 solishtirish
talab etiladi. 
Blokli   izlash   shundan   iboratki,   yozuvlar   kalitining   qiymati   oshib   borish
bo’yicha   tartibga   solingan   massiv   muayyan   sondagi   bloklarga   bo’linadi.   Agar
bloklar soni √N ga t е ng bo’lsa izlash uchun eng kam vaqt talab etiladi. Bu   е rda N
— massivdagi yozuvlarning umumiy soni. Bunda blokdagi yozuvlar soni ham √N
ga   t е ng.   Izlash   jarayonida   izlash   argum е nti   A   bloklarning   oxirgi   yozuvlar   bilan
27 k е tma-k е t solishtiriladi. Agar solishtirishda izlash argum е nti A qiymati navbatdagi
blokning oxirgi yozuvi kalitidan kichik bo’lsa, bu blokning barcha yozuvlari kaliti
k е tma-k е t   A   bilan   solishtiriladi.   K е rakli   yozuv   topilganida   u   k е yin   qayta   ishlov
b е rish   uchun   uzatiladi.   Agar   k е rakli   yozuv   topilmasa,   algoritmda   izlashning
muvaffaqiyatsiz   bo’lganligi   to’g’risida   xabar   b е rishni   ko’zda   tutish   mumkin.
Blokli izlash sx е masi 7.2-rasmda k е ltirilgan. Massivning oxirgi blokidagi yozuvlar
soni boshqa bloklardagi yozuvlar soniga t е ng bo’lmasligi mumkin, shuning uchun
oxirigi blokda el е m е ntni izlashni (uni k е tma-k е t ko’rib chiqishni) alohida algoritm
bilan bayon etish qulay. K е rakli yozuvni topish uchun √N solishtirish talab etiladi.
Eng   yomon   holatda   2√N   solishtirish   talab   etiladi .   K е rakli   yozuv   oxirgi   blokda
joylashgan   va   unda   birinchi   pozitsiyani   egallagan   (bu   blokni   oxiridan   boshlab
k е tma-k е t ko’rib chiqishda) yoki oxirgi pozitsiyani egallagan (bu blokni boshidan
boshlab   k е tma-k е t   ko’rib   chiqishda)   bo’lsa   bu   eng   yomoni   bo’ladi.   10   000   ta
yozuvli   massivda   bunda   199  ta   ko’rib  chiqish   talab   etiladi.  Bu   algoritmning  turli
modifikatsiyalari   bo’lishi   mumkin.   Masalan,   navbatdagi   murojaat   blok   oxiriga
emas,   balki   uning   boshiga,   ya’ni   uning   birinchi   yozuviga   amalga   oshirilishi
mumkin.  Joriy  blokni  shuningd е k  uning  oxiridan  yoki  boshidan   k е tma-k е t   ko’rib
chiqi щ sh   mumkin.   7.2-   rasmdagi   sx е mada   murojaat   blok   oxiriga   amalga
oshirilgan,   joriy   blokni   k е tma-k е t   ko’rib   chiqish   ham   shunday   uning   oxiridan
boshlangan.   Izlashning   t е zkor   usullari   faqat   ma’lumotlar   k е tma-k е t   taqdim
etiladigan   va   yozuvlar   uzunligi   qaydlangan   hollarda   yaxshi   natijalar   b е radi.
Ma’lumotlarni   saqlash   uchun   bog’langan   taqdim   etishlardan   foydalanishda
navbatdagi   yozuvning   manzili   yoki   nom е rini   hisoblab   uchun   qo’shimcha   vaqt
zarur   bo’ladi.Izlashning   t е zkor   usullarini   kompyut е rning   op е rativ   xotirasida
saqlanayotgan   massivlarga   nisbatangina   qullanish   zarur.   TXQ   da   saqlanayotgan
ma’lumotlar massivlarida izlashda ikkita k е tma-k е t solishtirish o’rtasida tashuvchi
oki   erkin   foydalanish   m е xanizmini   surish   talab   etiladi.   Blokli   izlashga   o’xshash
izlash   ko’p   darajali   ma’lumotnoma   tizimi   bilan   ta’minlanadi.   L е kin   bunda
ma’lumotnomani   saqlash   uchun   qo’shimcha   xotira   va   uni   yuritishga   ko’p
kompyuter vaqti sarflanadi.
3.4.IKKILIK (BINAR) QIDIRISH ALGORITMI VA UNING TAHLILI.
Qidirilayotgan   elementni   saralangan   ro‘yxatning   o‘rtasidagi   element   bilan
taqqoslash natijasida quyidagi uchta holatdan biri bo‘lishi mumkin: qidirilayotgan
element   topildi,   o‘rtadagi   elementdan   kichik   yoki   katta.   Birinchi   (eng   yaxshi)
holatda   qidiruv   tugallanadi.   Qolgan   ikki   holatda   ro‘yxatning   yarmini   tashlab
yuborish mumkin.Qidirilayotgan qiymat o‘rta elementdan kichik bo‘lsa, u holda bu
qiymat   o‘rta   qiymatdan   oldin,   aks   holda   (katta   bo‘lsa),   o‘rta   qiymatdan   keyin
28 joylashgan bo‘ladi. Bu protsedura yana takrorlanishi natijasida ajratib olingan qism
ro‘yxatning   yana   yarmini   tashlab   yuborish   mumkin   bo‘ladi.   Algoritmning   to‘g‘ri
natija   berishini   esa   quyidagicha   baholash   mumkin.   Agar   qidirilayotgan   qiymat
topilsa, natija ijobiy bo‘ladi. Agar ro‘yxatning ajratib olingan qismida o‘rta qiymat
mos   kelmasa,   u   holda   tsiklning   har   bir   qadamida   qolgan   elementlarning   yarmini
tashlab   yuborish   amali   bajariladi.   Natijada   taqqoslash   zarur   bo‘lgan   bitta
elementga   ega   bo‘lamiz.   Qolgan   element   qidirilatgan   elementga   teng   bo‘lsa,
demak   algoritm   o‘z   ishini   to‘xtatadi.   Agar   bu  qiymat   ham   mos   kelmasa,   u  holda
qidirilayotgan   qiymat   ro‘yxatda   yo‘q   ekanligi   aniqlanadi.   CHunki   tashlab
yuborilgan   qiymatlarning   barchasi   qidirilayotgan   qiymatdan   kichik   yoki   katta
bo‘lgani   uchun   ular   bilan   qayta   taqqoslash   amalini   bajarish   shart   emas.   lgoritm
bajarilishi   natijasida   ro‘yxat   va   uning   ajratib   olinadigan   qismlari   bir   necha   marta
teng   ikkiga   bo‘linadi   va   bir   qismi   ajratib   olinadi.   Algoritmning   tahlili   uchun
ixtiyoriy  k  qadam uchun
N= 2 k
 - 1
ifoda o‘rinli bo‘ladi.
Algoritmning tahlili
Eng   yomon   holat .   Algoritmning   har   bir   k -qadamida   ajratib   olinadigan
ro‘yxat qismi uzunligi ikki marta kamayib boradi. Bu  N =2 k
-1 holat uchun tsiklning
bajarilish soni   k   dan oshmasligini bildiradi. Bu yerda   k   tsiklning takrorlanish soni
bo‘lib, u  N =2 k
-1 ifodadan  k=log 2( N +1) bo‘ladi.
Ikkilik qidiruv algoritmini to‘liq tushuntirish uchun binar daraxt tuzilmasidan
foydalanish   ancha   qulaydir.   Bu   yerda   binar   daraxt   elementlarini   hosil   qilishda
tegishli   qoidalarga   rioya   qilinishi   talab   etiladi.   Umuman   olganda   qidirilayotgan
element   o‘rta   qiymatdan   kichik   bo‘lsa,   daraxtning   chap   qismida,   aks   holda   o‘ng
qismida joylashgan bo‘ladi. Ushbu qoida asosida qidiruv amalga oshirilganda ham
N   ta   elementdan   iborat   binar   daraxtda   taqqoslashlar   soni   log 2( N +1)   dan   oshib
ketmadi. Bu masalaning yechimi sifatida 7 ta elementdan iborat ro‘yxatning binar
daraxt shaklidagi ifodasi keltirilgan.
O‘rtacha   holat   tahlili .   Ketma-ket   qidiruvdagi   kabi   o‘rtacha   holat   tahlilida
ikkita ehtimolni qarab chiqamiz. Birinchi  holatda qidirilayotgan qiymat ro‘yxatda
mavjud bo‘lishi mumkin, ikkinchi holatda esa ro‘yxatda umuman yo‘q.
Birinchi   holatda   qidirilayotgan   qiymat   uchun   N   ta   mumkin   bo‘lgan   holat
mavjud.  Ularning  barchasi   teng  ehtimolli   deb  hisoblab,  har  birining  ehtimoli  1/N
29 deb olamiz. Agar binar daraxtda qidiruv misolida oladigan bo‘lsak, qidirilayotgan
qiymat   daraxtning   1-darajasi   (ildizi)da   joylashgan   bo‘lsa,   1   marta   taqqoslash,   2-
darajasida   bo‘lsa,   2   marta   taqqoslash,   3-darajasida   joylashgan   bo‘lsa,   3   marta
taqqoslash amali bajariladi. Umuman olganda i-darajada joylashgan element uchun
i-marta   taqqoslash   bajariladi.   i-darajada   21'1   ta   tugun   mavjud   bo‘lib,   N=2k-1
daraxatda k ta daraja bo‘ladi.
4. Amaliy qism .
 C++ dasturlash tilida saralash va qidirish algoritmga doir misollar.
Massivga kiritilgan sonlarni o’sish tartibida joylashtirish dasturi.
Bublle sort  algorirmining C++
dagi ko’rinishi Natija
#include <bits/stdc++.h>
using namespace std;
void bubbleSort(int arr[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++)
for (j = 0; j < n - i - 1; j++)
if (arr[j] > arr[j + 1])
swap(arr[j], arr[j + 1]);
}
void printArray(int arr[], int size)
{
int i;
for (i = 0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}
int main()
{
int arr[] = { 5, 1, 4, 2, 8};
int N = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, N);
cout << "Sorted array: \n";
printArray(arr, N);
return 0;
}
30 Massivga kiritilgan sonlarni o’sish tartibida joylashtirish dasturi.
Insertion sort
algorirmining C++ dagi
ko’rinishi Natija
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[5] = {54,69,12,2,89};
for(int i=0;i<5-1;i++)
{
int minloc = i;
for(int j=i+1;j<5;j++)
{
if(a[minloc]>a[j])
{
minloc = j;
}}
swap(a[i],a[minloc]);
}
for(int i=0;i<5;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
31 Massivga kiritilgan sonlarni o’sish tartibida joylashtirish dasturi.
Selection sort  algorirmining
C++ dagi ko’rinishi Natija
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[5] = {54,69,12,2,89};
for(int i=0;i<5-1;i++)
{
int minloc = i;
for(int j=i+1;j<5;j++)
{
if(a[minloc]>a[j])
{
minloc = j;
}
}
swap(a[i],a[minloc]);
}
for(int i=0;i<5;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
32 XULOSA
Shuni   xulosa   qilib   aytishimiz   mumkinki,   ma’lumotlarni   kompyuterda   qayta
ishlashda   elementning   informatsion   maydoni   va   uning   mashina   xotirasida
joylashishini bilish zarur. Shu maqsadda ma’lumotlarni saralash amalga oshiriladi.
Yuqorida keltirib o’tilgan nazariy qismda saralash algoritmlari haqida Bublle
sort, Selection sort, Insertion sort, Merge sort, Quick sort ma’lumot berib o’tilgan,
hamda   saralashning   O’rniga   qo’yish   va   Shell   usullari   haqida   misollar   yordamida
ma’lumotlar   berilib   va   bu   algoritmlar   o’z   navbatida   baholab   ham   o’tilgan.   Mana
shu   keltirib   o’tilgan   saralash   algoritmlarining   qaysi   biri   eng   samarali   ekanligi
mavzu   davomida   yoritib   berilgan.Ushbu   ma’ruza   matnida   qidirish   algoritmlariga
doir   ma’lumotlar   va   misollar   ham   berib   o’tildi.   Ushbu   kurs   ishida   yana
ma’lumotlarni   qidirishda   eng   samarali   algoritm   topish   va   yozish   kabi   muhim
ma’lumotlar keltirib o’tildi.
Kurs ishining oxirgi amaliy qismida Saralash va Qidirish algoritmlariga doir
misollar va ularning C++ dasturlash tilidagi yechimlari keltirilib o’tilgan.
Foydalanilgan   adabiyotlar
1.   Симанович   C .   и   др.   Специальная   информатика:   универсальный   курс.   –
М.: А C Т–ПРЕ CC , 2000. - 480  c .
2.   Ахо   А.,   Хопкрофт     Дж.,   Ульман   Дж.     Построение   и   анализ
вычислительных алгоритмов. – М.: Мир , 1979. – 536  c .
3. Гудман   C ., Хидетниеми   C . Введение в разработку  и анализ алгоритмов. –
М.: Мир, 1981. -368  c .
4.  https//www.dasturchi.uz
5.   Кнут   Д.   Искусство   программирования   для   ЭВМ   Том   1.   Основные
алгоритмы.  – М.: Вильямс, 2010. -720 с.
6. Гэри М., Джонсон Д. Вычислительные машины и трудно решаемые задачи.
– М.: Мир, 1988. – 416  c .
7. https//www.arxiv.uz
33

SARALASH VA QIDIRISH UCHUN SAMARALI ALGORITMLAR Mundarija KIRISH .......................................................................................................................................................... 2 Nazariy qism.Eng ko’p ishlatiladigan algoritm turlari. .................................................................................. 4 Joylashtirib saralash (Insertion sort) ........................................................................................................ 4 Qo’shib saralash (Merge sort) ................................................................................................................. 5 Saralash ............................................................................................................................................... 5 Qidirish ................................................................................................................................................ 5 Algoritm turlari bilan tanishish .................................................................................................................... 6 2. MA’LUMOTLARNI SARALASH ALGORITMLARI .......................................................................................... 6 2.1. TO’G’RIDAN-TO’G’RI QO’YISH USULI BILAN SARALASH ALGORITMLARI ........................................... 6 2.2 Tanlash usuli bilan saralash algoritmi ................................................................................................ 7 Saralashga misol. ....................................................................................................................................... 10 2.2. Mа’lumоtlаrni sаrаlаshning аsоsiy usullаri ......................................................................................... 11 3.MA’LUMOTLARNI IZLASH ALGORITMLARI. ............................................................................................. 21 3.1. Axborot izlashning (qidirish) asosiy tamoyillari. .................................................................................. 21 Ketma-ket qidiruv algoritmi ....................................................................................................................... 22 3.2. Kеtma-kеt izlash. ................................................................................................................................ 26 3.3. Izlashning tеzlashtiririlgan usullari. ..................................................................................................... 27 3.4.IKKILIK (BINAR) QIDIRISH ALGORITMI VA UNING TAHLILI. ................................................................... 28 Algoritmning tahlili .................................................................................................................................... 29 4.Amaliy qism. ........................................................................................................................................... 30 XULOSA ...................................................................................................................................................... 33 Foydalanilgan adabiyotlar .......................................................................................................................... 33 1

KIRISH Algoritm-bu cheklangan sonli qadamlar yordamida muammoni hal qilish uchun matematik jarayon. Algoritmlardan foydalangan holda dasturchi yoki kompyuter olimi o'z mashinasiga ma'lumotlar bazasini o'tgan oyning savdo ko'rsatkichlari uchun so'rashini, ularni o'tgan oy va o'tgan yilning o'sha oyi bilan taqqoslashini va keyin uni ustunli grafikada ko'rsatishini aytishi mumkin. Bir nechta algoritmlarni aralashtiring va sizda ishlaydigan kompyuter dasturi mavjud. Kutilganidek, deyarli har qanday matematik muammolarni hal qilish uchun ko'plab turdagi algoritmlar mavjud va bor:  Sonli algoritmlar.  Algebraik algoritmlar.  Geometrik algoritmlar.  Ketma-ket algoritmlar.  Operativ algoritmlar.  Nazariy algoritmlar. Shuningdek, ularni ixtiro qilgan etakchi matematiklar nomidagi turli xil algoritmlar mavjud:  Shor algoritmi.  Girvan-Nyuman algoritmi.  Bir necha Yevklid algoritmlari. Shuningdek, ular hal qiladigan aniq muammo nomi bilan atalganlar mavjud, masalan:  Ikki tomonlama qidirish algoritmi. K-yo'l algoritm birlashtirish. 2

Hisoblash sohasida aksariyat algoritmlar ma'lumotlarni boshqarish va tahlil qilish muammolarini hal qilishga moyil. 3

Nazariy qism. Eng ko’p ishlatiladigan algoritm turlari. Puffakchali saralash (Buble sort) “Bubble sort” bu eng sodda, ketma-ketlikdagi har bir sonni boshqa sonlar bilan solishtirishga, asoslangan algoritm hisoblanadi. Unda solishtirish natijasida son noto`g`ri o`rinda turganligi aniqlansa, son o`rni almashtiriladi. Bu jarayon almashtirish kerak bo`lmay qolguncha davom etadi, ya`ni kerakli ketma-ketlikka kelguncha. “Bubble sort” eng ko`p vaqt talab qiluvchi saralash algoritmi hisoblanadi. Chunki unda n ta element uchun takrorlanishlar soni n*n 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. Tanlab saralash (Section sort) “Selection sort” g’oyasi juda ham oddiy: har qadamda arrayning saralanmagan qismidagi eng kichik (yoki eng katta) elementni topib saralangan qism oxiriga qo’shib ketish. Selection sort eng oddiy saralash algoritmlaridan bo’lib O(n²) vaqt tezligida ishlaydi. Ya’ni, algoritm barcha elementlarni ko’rib chiqish (n-1) mobaynida, har bir qadamda eng kichik elementni topish uchun qolgan elementlarni ko’rib chiqishi kerak bo’ladi. Matematik ko’rinishda quyidagicha bo’ladi: Joylashtirib saralash (Insertion sort) Insertion sort (Joylab saralash) ham tartibsiz array elementlarini saralash uchun mo’ljallangan. Uning ishlash prinsipi (g’oyasi) huddi qo’ldagi kartani saralashga o’xshab ketadi. Ya’ni tartibsiz turgan kartalar ichidan birini olasiz va uni o’zi turishi kerak bo’lgan joyga joylashtirib qo’yasiz. Algoritm oldin array boshidagi ikkita elementni saralab oladida qolgan elementlarni shularga qarab o’z o’rniga joylashtirib ketaveradi. (Ulardan oldiga, ularning orasiga yoki ulardan keyinga). Har bir element huddi shu tartibda o’z o’rnini topib boraveradi. Insertion sort ham Selection va Bubble sort kabi O(n²) vaqt murakkabligi bilan ishlasa ham, lekin ulardan ko’ra samaraliroq algoritm hisoblanadi. Aynan, array elementlari deyarli saralangan holatda Insertion sort algoritmi Merge yoki Quick sort algoritmidan ham ko’ra tezroq ishlaydi. 4

Tezkor saralash (Quick sort) Bu algoritm Charlz Hoar tamonidan 1964 yilda taklif qilingan. Charlz Hoar ingliz olimi, informatika va hisoblash texnikasi sohasida yetuk mutaxassis. Uning “Tezkor saralash” algoritmi saralash bo’yicha eng ommobop algoritm.  Bu algoritm ham “Bo’lib tashla va hukmronlik qil” metodiga asoslanadi.  Massivda bo’luvchi element X tanlanadi.  Elementlarni shunday joylashtiramizki, dastlab X dan kichik yoki teng bo’lgan elementlar joylashsin, keyin undan katta bo’lgan elementlar joylashsin.  Keyin ularni alohida saralaymiz. Qo’shib saralash (Merge sort) Bu algoritm Jon fon Neyman tamonidan 1946 yilda taklif qilingan. Jon Fon Neyman Vengriyalik matematika, kvant fizikasi, funksional analiz, to’plamlar nazariyasi, ekonomika, informatika kabi fanlarga munosib hissa qo’shgan.  Algoritmlarni qurishning asosiy metodlaridan biri.  Murakkab masalani yechish uchun, uni oddiyroq bo’laklarga ajratish kerak.  Massivni ham huddi shunday saralash mumkin: 1. Uni ikkita bo’lakga ajratamiz. 2. Bo’laklarni alohida saralaymiz. 3. Saralangan massivlarni birlashtiramiz.  Ikkita saralangan massiv berilgan. Ularni birlashtirib shunday massiv hosil qilish qilish kerakki, u yana saralangan bo’lsin. Xar safar hali ikki massivning hali ko’rilmagan qismlaridagi birinchi ikki elementni taqqoslaymiz. Ulardan kichigini olamiz. Saralash Ma'lumotlarni samarali va foydali tarzda tartibga solish. Bularga tez saralash, birlashtirish sort, hisoblash sort va boshqalar kiradi; Qidirish Tartiblangan ma'lumotlar to'plamlarida asosiy ma'lumotlarni topish. Ikkilik qidiruv chiziqli ma'lumotlar tuzilmalarida va tartiblangan ma'lumotlar to'plamlarida qidirish uchun ishlatiladi. Chuqurlik/kenglik birinchi qidirish (DFS / 5