Samarqand davlat universiteti raqamli texnologiyalar fakulteti amaliy matematika yo



Download 242,83 Kb.
bet5/7
Sana09.07.2022
Hajmi242,83 Kb.
#766021
1   2   3   4   5   6   7
Bog'liq
Dilshodxonning kurs ishi

RMQ ning LCA ga qisqarishi.
Va endi kutilmagan burilish keladi. Biz RMQ +1 va -1 muammosining umumiy holatini LCA muammosiga qisqartiramiz. Va biz LCA muammosini RMQ muammosiga qanday kamaytirishni allaqachon bilamiz, biz buni O(n+q) da hal qila olamiz. Ya'ni, ma'lumotlarning bunday g'alati ketma-ketligi bilan biz O(n+q) da RMQ masalasining umumiy holatini yechish yo'llarini o'rganamiz.
Kamaytirishning o'zi ham juda g'alati va hayratlanarli ko'rinishi mumkin. Aytaylik, bizda A massiv bor. Dekart daraxtini quraylik, uning kalitlari 0 dan n-1 gacha bo'lgan sonlar, A massivning elementlari esa ustuvorlik (ildiz minimal element). Ya'ni, biz (i,A(i)) juftlikda Dekart daraxtini quramiz. Umuman olganda, O(n) da Dekart daraxtini qurish mumkin emas, chunki bu O(n) da massivni saralash masalasini hal qiladi, lekin bizning holatlarimizda kalitlar 0 dan n-1 gacha bo'lgan raqamlardir, shuning uchun ular allaqachon tartiblangan. Saralangan kalitlar holatida, O(n) da dekart daraxtini osongina qurish mumkin. Algoritmni keyinroq muhokama qilamiz.
Endi shuni ta'kidlash kerakki, l dan r gacha bo'lgan segmentdagi minimal qiymat bizning Dekart daraxtimizdagi l va r tugmachalari bilan cho'qqilarning LCA ga to'liq mos keladi. Haqiqatan ham, LCA koordinatada chap va o'ng pastki daraxtlar orasida joylashgan, ya'ni LCA kaliti l va r orasida joylashgan. Boshqa tomondan, LCA potentsiali uning pastki daraxtida minimaldir va bu pastki daraxt l dan r gacha bo'lgan barcha kichik segmentni o'z ichiga oladi, chunki u o'z chegaralarini o'z ichiga oladi. Shunday qilib, bu raqam kerakli segmentda yotadi va undagi minimaldir.
Kalitlar tartiblangan bo'lsa, O(n) da Dekart daraxtini qanday qurishni o'rganishgina qoladi. Daraxtga elementlarni kalitlarning o'sish tartibida ketma-ket qo'shamiz. Yangi kalit, albatta, daraxtning eng o'ngdagi tuguniga aylanadi. Uni qaerga osib qo'yishni va daraxtni qanday tiklashni aniqlashgina qoladi. Keling, biz qo'shgan oldingi cho'qqini ko'rib chiqaylik. Agar yangi cho'qqining potentsiali avvalgisining potentsialidan kam yoki unga teng bo'lsa, uni avvalgi cho'qqining o'ng tomoniga osib qo'yish kerak (chunki uning hali o'ng o'g'li yo'q). Agar yangi cho'qqining potentsiali oldingi cho'qqining potentsialidan kamroq bo'lsa, biz potentsiali yangi cho'qqining potentsialidan allaqachon katta yoki unga teng bo'lgan birinchi cho'qqiga duch kelgunimizcha undan ildiz tomon ko'tarilishimiz kerak. Daraxtga v cho'qqisini qo'shamiz, u cho'qqi v dan kam potentsialga ega va u ning otasi p potentsial v dan kam emas. Endi p cho'qqining o'ng bolasi v cho'qqi bo'ladi va u cho'qqi v cho'qqisining chap bolasi tomonidan osilgan bo'lishi kerak, ya'ni v cho'qqisi p --> u chekkasi ichida joylashgan. Agar bunday p cho'qqi bo'lmasa, ya'ni barcha cho'qqilar v dan kam potentsialga ega bo'lsa, u shunchaki yangi ildizga aylanadi va biz unga eski ildizni chap o'g'il sifatida osib qo'yamiz.
Butun jarayonni stek sifatida tasavvur qilish mumkin. Dekart daraxtining o'ng shoxini stekda saqlaylik. Bu stek pastlar stekiga juda o'xshaydi. Keyin, yangi tepa kelganda, biz elementlarni stekdan ularning potentsiallari yangi tepaning potentsialidan kam bo'lgunga qadar olib tashlaymiz, so'ngra daraxtda doimiy miqdordagi o'zgarishlarni amalga oshirib, stekga yangi tepa qo'shamiz. Har bir cho'qqi stekga bir marta qo'shilganligi sababli (va shuning uchun olib tashlangan) algoritmning asimptotik harakati O (n) dir.
Eslatma: Endi agar siz Tarjan algoritmining oʻzgarishidan foydalanib yechimga qaytsangiz, biz ishlatgan stek aslida Dekart daraxti qurish stegi ekanligini koʻrishingiz mumkin. Biroq, Tarjan algoritmining tuzilishi tufayli biz hech qanday daraxt qura olmaymiz va oddiyroq algoritmni olamiz.
Amaliyot uchun FKB algoritmining soddalashtirilgan bit o'zgarishi
Biz RMQ yechimining nazariy chiziqliligiga erishdik, biroq bu algoritmni uch xil faza tufayli amalga oshirish juda qiyin va asimptotik konstanta yetarlicha katta bo‘lib, bu algoritm amalda kamdan-kam qo‘llanilishi mumkin. Muammoning oflayn versiyasini hal qilishda, Tarjan algoritmining o'zgarishiga qarashga arziydi. Ko'pincha bu etarli bo'ladi.
Biroq, agar muammo hali ham onlayn tarzda hal qilinishi kerak bo'lsa, LCA ga ma'lumotsiz va RMQ +1 va -1 ga qaytib FKB algoritmining soddalashtirilgan.

Download 242,83 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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