Reja: Algoritm tushunchasi



Download 6,66 Mb.
bet9/87
Sana31.12.2021
Hajmi6,66 Mb.
#252783
TuriПрограмма
1   ...   5   6   7   8   9   10   11   12   ...   87
Bog'liq
Algotim loyiha toliq maruza

O(nlogn)  T(n)  O(n2);

T(n)=O(n) – идеал ҳолатда.

Қўйиш орқали саралаш

Объектлар сараланган a(1),...,a(i-1) ва сараланмаган a(i),...,a(n) каби 2 та кетма-кетликларга бўлинади. Ҳар бир қадамда (i=2 дан бошлаб) сараланмаган кетма-кетликдан i-чи элемент ажратиб олиниб сараланган кетма-кетликнинг керакли жойига қўшилади.



Қўйиш орқали саралаш алгоритми самарадорлиги

Таққослашлар сони:

Ўринлаштиришлар сони:



Саралашга кетган вақт:



Танлаш орқали саралаш

1. Берилган объектлар ичидан энг кичик калитга эга элемент танланади.

2. Ушбу элемент бошланғич кетма-кетликдаги биринчи элемент a1 билан ўрин алмашади.

3. Ундан кейин ушбу жараён қолган n-1 та элемент, n-2 та элемент ва хоказо, токи битта энг “катта” элемент қолгунча давом эттирилади.

Misol:







Ustuvor navbatlar. Agar biz S-dan elementlarni o'chirishni va qo'shishni, shuningdek, algoritm talab qilganda S-dan elementni tanlash imkoniyati bo’lishini xohlasak, albatta S dinamik bo’lishi lozim. Ustuvor navbatlar shunday ilovalarga mo’ljallanganki, unda har bir elementga ustuvorlikni bildiruvchi (kalit) tayinlanadi va har safar S-dan elementni tanlash talab qilinsa, ustuvorlik darajasi yuqori bo'lgan element tanlanishi kerak bo’ladi. Ustuvor navbat – bu shunday ma'lumotlar tuzilmasiki, u S ning elementlari asosida tuzilgan bo’lib, xar bir element v uchun uning ustuvorligini belgilaydigan key(v) kalit mos qo’yiladi; kichik kalitlar vakili bo’lgan element yuqori ustuvorlikka ega bo’ladi. Ustuvor navbatlar element qo'shishni, elementlarni navbatdan olib tashlash amallarini qo'llab-quvvatlaydi va, shuningdek, eng kichik kalitga ega elementni, ya’ni eng ustuvor elementni tanlash imkonini beradi. Umuman olganda uctuvor navbatlarni ishlatganda, boshqa amallarni ham bajarish mumkin bo’ladi. ustuvor navbatlarning umumiy imkoniyatlarini muhokama qilishda albatta e'tiborga olish kerak bo’lgan qo’llanish soxasi bu - real vaqtda jarayonlarni boshqarish masalasidir. (masalan, jarayonlarni kompyuterda bajarilishini rejalashtirish). Har bir jarayonga ba'zi ustuvorliklar beriladi, ammo jarayonlarni qabul qilish tartibi ularning ustuvorliklari tartibiga to'g'ri kelmaydi. Buning o'rniga faol jarayonlarning ketma-ketligi mavjud; biz eng ustuvor jarayonni ajratib olishni va uni faollashtirishni xohlaymiz.

Ko'p jarayonlar ustuvor navbat sifatida taqdim etilishi mumkin. Jarayon kaliti ustuvor qiymatni anglatadi. Eng ustuvor jarayonni rejalashtirish ustuvorlik navbatidan eng kichik kalitli elementni tanlashga mos keladi ; parallel ravishda yangi jarayonlar ustuvorlik qiymatlariga muvofiq ravishda ustuvor navbatga qo'yilishi kerak. Ma’lumki solishtirish orqali saralashda ham bajariladigan operatsialar soni (vaqt) eng kamida nlogn ga proportsional bo’ladi. Demak, bundan logn vaqt yuqoridagidan ancha yaxshiligini ko’rish mumkin. Shuni ta'kidlash kerakki, haqiqiy vaziyat biroz murakkabroq: ustuvor navbatlarni amalga oshirish bu yerda keltirilganlarga qaraganda murakkabroq, ular muayyan operatsiyalarni bajarish vaqtini yaxshilaydi va qo'shimcha funktsionallikni ta'minlaydi hamda n ta sonlar k-kini saralovchi ustuvor navbat operatsiyalari k-kgi eng kamida nlogn ga proportsional bo’lishi kerak.

Uyum(kucha) - bizning kontekstimizda bu tartiblangan massiv va ro'yxatning afzalliklari birlashtirilgan ma'lumotlar tuzilimaidir. Kontseptual darajada, uyumni muvozanatlangan binar daraxt deb hisoblash mumkin.

Uyum qoidasi:har bir element kaliti uning ota-onasi kalitidan kichik emas, key (w) ≤ key (v), bu erda w-ota-ona, v-element. Agar istalgan vaqtda elementlarning umumiy soni N oldindan ma'lum bo'lsa, uyumni massiv yordamida amalga oshirish mumkin va ko'rsatkichlarsiz. Bunday uyumlarni i = 1, ..., N indeksli H massivida saqlash mumkin. Uyum tugunlari massivdagi pozitsiyalarga mos keladi. H[1] ildiz boladi, i-joydagi uning merosxo’rlari esa H massivda leftChild(i) = 2i va rightChild(i) = 2i + 1 kabi joylashadi, ota-onasi esa parent (i) = [i/2] joyda bo’ladi.

Uyumga element qo’yish


Uyumni yuqoriga qarab to’g’rilash

Uyumga i-o’rinda element uyum hossasini buzganda to’g’rilash jarayoni—bu jarayon algoritmi:



  • Heapify-up(H,i):

  • agar i > 1

  • O’zlashtirish j = parent(i) =[i/2]

  • agar key[H[i]]

  • H[i] va H[j] elemtntlar o’rnini almashtirish

  • Heapify-up(H,j)

  • agarni tugashi

  • agarni tugashi

  • element qo’yish oxiridan bajariladi.

Uyumni pastga qarab to’g’rilash

  • Heapify-down(H,i):

  • Присвоить n = length(H)

  • Если 2i > n

  • Завершить выполнение без изменения H

  • Иначе Если 2i < n

  • Присвоить left = 2i и right = 2i + 1

  • Присвоить j индекс для минимизации key[H[left]] и key[H[right]]

  • Иначе Если 2i = n

  • Присвоить j = 2i

  • Конец Если

  • Если key[H[j]] < key[H[i]]

  • Поменять местами элементы H[i] и H[j]

  • Heapify-down(H, j)

  • Конец Если

Elementni o’chirish


Download 6,66 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   87




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
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