9-mavzu. Chiziqsiz ma’lumotlar tuzilmasi. Daraxtsimon maʻlumotlar tuzilmalari. Binar va ko‘ptarmoqli daraxtlar. Taʻriflar va xususiyatlar. Daraxtlarni binar ko‘rinishga keltirish algoritmi. Rekursiya va ularni dasturlashda ishlatish



Download 2,23 Mb.
bet4/14
Sana17.07.2021
Hajmi2,23 Mb.
#121612
1   2   3   4   5   6   7   8   9   ...   14
Bog'liq
МТА9мавзу

n ta elementdan iborat skip list berilgan bo’lsin. Unda xar bir 1 ≤ k ≤ ⎣lg n⎦ va 1 ≤ i ≤ ⎣n/2k–1⎦ – 1 shartni qanoatlantiruvchi k va i uchun 2k-1*i o’rinda turgan tugun 2k-1*(i+1) o’rinda turgan tugunni ko’rsatadi. Bu degani, xar bir 2-tugun 2 tugun keyin turgan elementga murojaat qiladi va xar bir 4-element o’zidan 4 ta keyin turgan elementga murojaat qiladi va x.k. ( 6.5-quyidagi rasm)

6.5-rasm. Skip list tuzilmasi.

Ushbu rasmdagi kabi skip listdan elementni qidirish algoritmi quyidagicha: (bizga ma’lumki, skip list tartiblangan) qidiruv eng yuqori ko’rsatkich bilan boshlanadi


  • Agar oldinda el elementdan qiymat jixatidan kichik elementlar chiqsa, qidiruv davom ettiriladi, toki el dan katta element chiqqunga qadar.

  • Agar oldinda el dan katta element chiqadigan bo’lsa, bitta oldingi elementga qaytiladi va qidiruv bitta past darajadagi ko’rsdatkich bilan davom ettiriladi.

  • Qidiruv element topilguncha davom ettiriladi yoki eng pastki darajadagi ko’rsatkich bilan oraliqdagi elementlarning xammasi tekshirilib chiqqanda to’xtatiladi.

el elementni qidirish psevdokodi quyidagicha:

search(element el)

p=the nonnull list on the highest level i;

while el not found and i≥0

if p->key>el

p=a sublist that begins in the predecessor of p on level --i;

else if p->key< el

if p is the last node on level i

p=a nonnull sublist that begins in p on the highest level < i;

i=the number of the new level;

else p = p->next;

Masalan, agar bu ro’yhatda (6.5b-rasm) 16 ni qidiradigan bo’lsak, 4-darajadan qidirishni boshlaymiz. Uning 1-elementi 28 ga olib boradi va bu darajada element topilmaydi, shu sababli bitta past darajadagi ko’rsatkich bo’yicha qidiramiz. Unda 1-element 8, demak kyingi elementni tekshiramiz, 2-element 17, o’tib ketildi. Biz qidirayotgan element shu ikki element orasida bo’lishi mumkinligi sababli yana bitta past darajadagi ko’rsatkich bilan davom etamiz va bunda n8 va 17 orasidagi elementlar tekshiriladi. Bunda navbatdagi element 10 chiqadi va undan keyin yana 17. Shu sababli eng quyi darajaga tushib 10 va 17 orasi qidiriladi. Unda 10, 12, 17 sonlari kelib chiqadi. Boshqa quyi darajadagi ko’rsatkich yuq va element shu paytgacha topilmagani uchun tuzilmada bu element yuq deb aytiladi.

Skip listlarni amalga oshirish va ustida amal bajarish algoritmlari dasturi quyida keltiriladi:





Bu skip listda qidirish samarali bo’lsada, kiritish va o’chirish algoritmlari ancha samarasizdir. Yangi element kiritilgan joydan keying barcha elemntlar qayta yozilib chiqiladi. Kiritiladigan ko’rsatkichli maydonlar soni va ularning qiymatlari xam o’zgartirilishi kerak. Skip list afzalligini saqlash va bunday muammolarni bartaraf etish maqsadida turli darajada turgan elementlarning turgan o’rni emas, ularning qiymatlari olib qaraladi. Masalan. 6.5-rasmdagi a) skip listdan b) skip list keltirilgan. Har ikkala tuzilmada xam 6 ta bitta ko’satkichli maydonga ega bo’lgan element mavjud, 2 ta ko’rsatkichli 3 ta element, 3 ta ko’rsatkichli 2 ta element va 4 ta ko’rsatkichli 1 ta element mavjud. Xosil qilingan yangi ro’yhat (6.5b.-rasm) da xam qidirish bir xil, lekin bunda yangi elementni kiritish qayta tashkil etishga majbur qilmaydi. Bunda elementlar shunday xosil qilinadiki, turli darajadaga elementlarni joylashda adekvatlik saqlanadi.

Bu qanday amalga oshiriladi?

maxLevel=4 deb olaylik. 15 ta element uchun bitta ko’rsatkichli 8 ta element, 2 ta ko’rsatkichli 2 ta element, 3 ta ko’rsatkichli 2 ta element, 4ta ko’rsatkichli 1 ta element yaratilishi kerak. Yangi element kiritiladigan bo’lsa, 1 va 15 orasida tasodifiy r soni xosil qilinadi. Agar r<9 bo’lsa, element eng quyi darajaga (1-daraja) joylashadi, agar r<13 bo’lsa, element 2-darajaga joylashadi, agar r<15 bo’lsa, element 3 - darajaga joylashadi va agar r=15 bo’lsa, element 4-darajaga joylashadi.

Skip listning samaradorligi qanday?

Ideal holatda 6.5.a-rasmda qidiruv samaradorligi O(lg n). eng yomon holatda, barcha elementlar bir xil darajada bo’lsa, bu oddiy chiziqli bog’langan ro’yhat kabi bo’ladi va qidiruv samaradorligi O(n) ga teng.


Download 2,23 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   14




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