Saralash algoritmlari va ularning hisoblash dasturlari



Download 96,78 Kb.
bet2/3
Sana21.04.2022
Hajmi96,78 Kb.
#568617
1   2   3
Bog'liq
Saralash algoritmlari va ularning hisoblash dasturlari

Taroq saralash ga asoslangan nisbatan sodda tartiblash algoritmi qabariq turi va dastlab Wlodzimierz Dobosiewicz tomonidan 1980 yilda ishlab chiqilgan.[35] Keyinchalik u Stiven Leysi va Richard Boks tomonidan qayta kashf etilib, ommalashtirildi Bayt Jurnal 1991 yil aprelda chop etilgan maqola. Asosiy g'oya yo'q qilishdir toshbaqalaryoki ro'yxat oxiriga yaqin kichik qiymatlar, chunki ko'pikli tartibda ular saralashni juda sekinlashtiradi. (Quyonlar, ro'yxat boshidagi katta qiymatlar, qabariq tartibida muammo tug'dirmaydi) Bunga dastlab elementlarni faqat bir-biriga ulashgan holda almashtirish o'rniga, qatorda bir-biridan ma'lum masofada joylashgan elementlarni almashtirish orqali erishiladi. va keyin tanlangan masofani oddiy pufakchali tartibda ishlaguncha qisqartiradi. Shunday qilib, agar Shellsort bir-biridan ma'lum masofada joylashgan elementlarni almashtiradigan qo'shimchalash tartibining umumlashtirilgan versiyasi deb qaralishi mumkin bo'lsa, taroq turini qabariq turiga nisbatan qo'llaniladigan bir xil umumlashma deb hisoblash mumkin.
Tarqatish tartibi ma'lumotlar har qanday saralash algoritmiga ishora qiladi, bu erda ma'lumotlar ularning kiritilishidan bir nechta oraliq tuzilmalarga tarqatiladi, keyinchalik ular yig'ilib chiqishga joylashtiriladi. Masalan, ikkalasi ham chelak navi va fleshsort tarqatish asosida saralash algoritmlari. Tarqatishni saralash algoritmlari bitta protsessorda ishlatilishi mumkin yoki ular bo'lishi mumkin taqsimlangan algoritm, bu erda alohida kichik to'plamlar turli xil protsessorlarda alohida saralanadi, so'ngra birlashtiriladi. Bu imkon beradi tashqi tartiblash bitta kompyuter xotirasiga sig‘maydigan darajada katta ma'lumotlar.
Har bir kirishning ma'lum bir to'plamga tegishli ekanligi aniqlanganda, hisoblash tartibini qo'llash mumkin, S, imkoniyatlar. Algoritm O (|) da ishlaydiS| + n) vaqt va O (|S|) xotira qaerda n kirish uzunligi. U | butun o'lchovli massiv yaratish orqali ishlaydiS| va yordamida menning paydo bo'lishini hisoblash uchun th mena'zosi S kirishda. Keyin har bir kirish mos keladigan axlat qutisi qiymatini oshirish orqali hisoblanadi. Shundan so'ng, barcha kirishlarni tartibda tartibga solish uchun hisoblash massivi aylanib o'tiladi. Ushbu saralash algoritmidan ko'pincha foydalanish mumkin emas, chunki S algoritm samarali bo'lishi uchun juda kichik bo'lishi kerak, lekin u juda tez va juda yaxshi asimptotik harakatni namoyish etadi n ortadi. Bundan tashqari, barqaror xatti-harakatni ta'minlash uchun uni o'zgartirish mumkin.
Paqir navi a bo'ling va zabt eting umumlashtiruvchi saralash algoritmi hisoblash turi qatorni sonli chelaklarga bo'lish orqali. Keyin har bir chelak alohida saralash algoritmidan foydalangan holda yoki chelakni saralash algoritmini rekursiv ravishda qo'llagan holda alohida-alohida saralanadi.
Radix sort alohida raqamlarni qayta ishlash orqali raqamlarni saralash algoritmi. n iborat raqamlar k har bir raqam O (n · k) vaqt. Radix tartibida har bir sonning raqamlari kamida muhim raqam (LSD) yoki dan boshlab eng muhim raqam (MSD). LSD algoritmi avval barqaror tur yordamida nisbiy tartibini saqlab, ro'yxatni eng kichik raqamlar bo'yicha saralaydi. Keyin ularni keyingi raqamlar bo'yicha saralaydi va hokazo tartiblangan ro'yxat bilan yakunlanib, eng ahamiyatsizdan eng ahamiyatli tomonga qadar. LSD radix saralash barqaror turdan foydalanishni talab qilsa, MSD radix saralash algoritmi talab qilmaydi (barqaror saralash kerak bo'lmasa). O'z o'rnida MSD radix saralash barqaror emas. Bu odatiy holdir hisoblash turi ichki radius tartibida ishlatiladigan algoritm. A gibrid foydalanish kabi saralash yondashuvi qo'shish tartibi kichik qutilar uchun radix turini sezilarli darajada yaxshilaydi.
Xotiradan foydalanish tartibi va indekslarni saralash
Tartibga solinadigan massivning hajmi mavjud bo'lgan asosiy xotiraga yaqinlashganda yoki undan oshib ketganda (juda sekinroq) disk yoki almashtirish maydoni ishlatilishi kerak bo'lsa, tartiblash algoritmining xotiradan foydalanish tartibi muhim ahamiyat kasb etadi va algoritm juda adolatli bo'lishi mumkin edi. Qator RAMga osonlikcha sig'adigan bo'lsa, samarasiz bo'lishi mumkin. Ushbu stsenariyda taqqoslashlarning umumiy soni (nisbatan) unchalik ahamiyatli bo'lmaydi va xotira qismlarining diskka nusxa ko'chirilishi yoki almashtirilishi va algoritmning ishlash xususiyatlarida ustunlik qilishi mumkin bo'lgan soni. Shunday qilib, o'tish soni va taqqoslashning lokalizatsiyasi taqqoslashning dastlabki sonidan ko'ra muhimroq bo'lishi mumkin, chunki yaqin atrofdagi elementlarni bir-biriga taqqoslash sodir bo'ladi tizim avtobusi tezlik (yoki keshlash bilan, hatto Markaziy protsessor disk tezligi bilan taqqoslaganda deyarli bir zumda).
Masalan, mashhur rekursiv tezkor algoritm etarli RAM bilan etarli darajada oqilona ishlashni ta'minlaydi, ammo massivning qismlarini nusxalashning rekursiv usuli tufayli qator RAMga mos kelmasa, unchalik amaliy bo'lmaydi, chunki bu bir qator sekin nusxalashga yoki operatsiyalarni ko'chirishga olib kelishi mumkin. diskdan. Ushbu stsenariyda, agar ko'proq taqqoslashni talab qiladigan bo'lsa ham, boshqa algoritm afzalroq bo'lishi mumkin.
Murakkab yozuvlar paytida yaxshi ishlaydigan ushbu muammo ustida ishlashning bir usuli (masalan, a relyatsion ma'lumotlar bazasi) nisbatan kichik kalit maydon bo'yicha saralanmoqda, massivda indeks yaratish va keyin butun qatorni emas, indeksni saralash. (Keyinchalik butun massivning tartiblangan versiyasi indeksdan o'qish bilan bitta o'tish yo'li bilan ishlab chiqarilishi mumkin, lekin ko'pincha bu keraksiz, chunki tartiblangan indeks etarli bo'ladi.) Indeks butun massivdan ancha kichik bo'lgani uchun diskni almashtirish muammosini samarali ravishda yo'q qilib, butun massiv ishlamaydigan xotiraga osongina joylashadi. Ushbu protsedura ba'zan "yorliqlarni saralash" deb nomlanadi.
“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. Bu jarayonni to`liqroq tushunish uchun quyidagi rasmdan foydalanamiz:

“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. Endi esa, bu algoritmlani kodga o`giramiz:
1-usul funksiyalar yordamida yoziladi.

Source code




Download 96,78 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish