SARALASH VA QIDIRISH UCHUN SAMARALI ALGORITMLAR
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_1.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_2.png)
![Hisoblash sohasida aksariyat algoritmlar ma'lumotlarni boshqarish va tahlil qilish
muammolarini hal qilishga moyil.
3](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_3.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_4.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_5.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_6.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_7.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_8.png)
![(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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_9.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_10.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_11.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_12.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_13.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_14.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_15.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_16.png)
![е 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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_17.png)
![а 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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_18.png)
![{ 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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_19.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_20.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_21.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_22.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_23.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_24.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_25.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_26.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_27.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_28.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_29.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_30.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_31.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_32.png)
![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](/data/documents/d6954a7b-0f6c-409f-95b8-75719c4951d8/page_33.png)
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