Mavzu: Piramidali saralash algoritmlari Piramidali saralash algoritmi


Download 0.97 Mb.
bet1/2
Sana19.06.2023
Hajmi0.97 Mb.
#1602527
  1   2
Bog'liq
primidali

MAVZU: Piramidali saralash algoritmlari

Piramidali saralash algoritmi


Ushbu saralashda har qanday dasturchi bilishi mumkin bo'lgan klassik algoritm bo'lgan piramida navi keltirilgan. Ushbu qo'llanma o'quvchilarga o'zlarining topshiriqlarini bajarishda yordam berishi bilan ajralib turadi. Ushbu mavzu bo'yicha eng yaxshi namunalar yo'q, shuning uchun uni o'zingizning vazifangiz bilan shug'ullanish uchun ishlating, ammo ushbu namunani o'zingiznikidek taqdim qilmang. Ko'pgina talabalarda IT-vazifalari bilan bog'liq muammolar bo'lganligi sababli, AssignmentShark.com o'z yordamini taklif qiladi. Bizning saytda siz tanlagan mutaxassislar ro'yxatini topishingiz mumkin.
Bizning mutaxassislarimiz tezkor ishlashadi, shuning uchun siz belgilangan muddatdan oldin ham bajarilgan topshiriqni olasiz. Shu bilan birga, bizda o'rtacha narxlar mavjud, shuning uchun har qanday talaba bizning xizmatimizdan foydalanishi mumkin. Biz har qanday turdagi topshiriq bo'yicha yordam beramiz. Bizning saytimizga faqat sizning talablaringiz bilan buyurtma berishingiz va muddatni belgilashingiz kerak. Piramidani saralash mavzusidan xabardor bo'lmaganlar uchun quyidagi qo'llanmani taqdim etamiz.
Piramidal saralash algoritmi
Ushbu hozir biz piramidal algoritm yordamida bir o'lchovli massivni saralab, algoritmning ishlash ko'rsatkichlarini aniqlaymiz: taqqoslash soni va elementlarning almashinish soni.
Piramida - bu daraxt, unda har bir tugunning ko'pi bilan ikkita avlodi bor va tugun har doim o'z avlodlariga kattaroq yoki teng bo'ladi (shuning uchun eng katta element har doim piramidaning tepasida).
Agar asl massivda n ta element bo'lsa, u holda oxirgi (n / 2) elementlar piramidaning asosiga aylanadi.
Piramidani massivga joylashtirish qulay. Shunday qilib, a [i] massivining har bir elementi a [2 * i + 1] va a [2 * i + 2] elementlaridan katta yoki teng bo'lishi kerak, shuning uchun piramidaning har bir tuguni uning avlodlaridan kattaroq bo'ladi.
Saralash paytida biz maksimal elementni massiv oxiriga o'tkazamiz, so'ngra uni keyingi saralash jarayonidan chiqaramiz. Maksimal element har doim piramidaning tepasida joylashganligi uchun biz a [0] va a [n-1] (oxirgi element) elementlarini almashtirishimiz kerak. Keyinchalik, biz qatorni faqat (n-2) -chi elementgacha ko'rib chiqamiz.
Loyiha tuzilishi, kodi va dastur namunasini bajarish piramidal tartiblash:
Programs.cs file:

PyramidSorting.cs file:

Project architecture:

Sample execution:

A) Piramidani saralash algoritmi quyidagicha tavsiflanadi: quyidagi bosqichlarni o'z ichiga oladi:
1. n ma'lumotlarga saralashda, avval n birlikka ega bo'lgan massivni aniqlang, so'ng m butun sonini toping, m - integralning raqamli kuchi 2, m / 2 2.m birlikka ega b massivni aniqlang, b massiv piramidal ustunli oyoq hosil qiladi; Yana m birligi bo'lgan c qatorini aniqlang, c massivi piramidal minora tanasini hosil qiladi;
3. to c qatori ishga tushirishni amalga oshiradi, b qatorga qo'yish uchun n ketma-ketlik ma'lumotlari kerak bo'ladi, va b qatorda mn minimal qiymat ma'lumotlarini qo'yish kerak bo'lsa, bu minimal qiymat ma'lumotlari n ma'lumotlardagi minimal qiymat ma'lumotlari, m shakli / 2 qo'shni ma'lumotlarga; Keyin u birma-bir taqqoslandi, nisbatan katta sonli indeks s massivning m / 2 ~ m-1 birligiga qo'yildi, bu jarayon minora korpusining birinchi qavatini piramida qiladi;
4.m-1 dan, b [c [m-1]] va b [c [m-2]], b [c [m-3]] va b [c [m-4] ni birma-bir taqqoslang ] ..., b [c [m / 2 + 1]] va b [c [m / 2]], va nisbatan katta sonli indeks c [m / 2-1], c [m / 2-2] ..., c [m / 4] da, qolganlari 2, 3 ... va hattoki maksimal qatlamli minora tanasi piramida shakllari haqida xulosa chiqarishi mumkin, shunday qilib butun minora tanasini barpo etish, oxirgi aylanadigan tejamkorlik butun b massivning maksimal qiymat ma'lumotlari c [1] ga joylashtirilgan;
5. b qatoridagi maksimal qiymat ma'lumotlari, 4. qadam uchun olingan minimal qiymat bilan tuzilgan;
6. 4. qadamni 5. qadam bilan takrorlang va shu bilan doimiy ravishda b qatoridagi maksimal qiymatni aniqlang va u birma-bir a [0], a [1], a [2] ..., to'liq ketma-ketlikni hosil qiling .
B)A-da'voga muvofiq piramidalarni saralash algoritmining bir turi, quyidagilar bilan tavsiflanadi: m butun sonini izlash uslubidagi 1-qadam tasvirlangan: o'zgaruvchiga topshiriqlarga 1 bo'ling, so'ngra ushbu o'zgaruvchining qiymati va n taqqoslanadi , agar u n dan kichik bo'lsa, u holda 2 ga ko'paytiring, yana uning qiymati va n ... ni taqqoslang, agar bu ma'lumotlar n dan katta yoki teng bo'lmaguncha, endi bu o'zgaruvchining qiymati m ga teng.
C). A-da'voga muvofiq piramida tartiblash algoritmining bir turi quyidagicha ifodalanadi: ta'riflangan qadam 3. qo'shni ma'lumotlarda toq raqam sifatida belgilangan ma'lumotlar va unga yaqin ma'lumotlar qo'shni ma'lumotlar bo'lmasligi, qo'shni ma'lumotlar bo'lmasligi kerak. undan keyingi ma'lumotlar bilan.

Download 0.97 Mb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling