“Ma’lumotlar tuzilmasi va algoritmlar” fanining maqsadi va vazifasi



Download 17,57 Mb.
bet123/129
Sana29.11.2022
Hajmi17,57 Mb.
#874460
1   ...   119   120   121   122   123   124   125   126   ...   129
Bog'liq
@TUIT quiz MTA

Nazorat savollar.
  • Heap tree tuzilmasi nima?
  • Heap tree ustida amal bajarish algoritmlari qanday?
  • Heap treeni tashkil etishning “pastdan-tepaga” usuli va samaradorligi qanday?
  • Heap treeni tashkil etishning “yuqoridan-pastga” usuli va samaradorligi qanday?

Adabiyotlar
1.AdamDrozdek. Data structure and algorithms in C++. Fourth edition. 2013. Chapter 6.9. 268-276 betlar.
2.Ma’ruza matnlari. Carnegie Mellon University – CORTINA. 2010. 15-121 Introduction to Data Structures,
http://www.cs.cmu.edu/~tcortina/15-121sp10/lectures.html http://www.cs.cmu.edu/~tcortina/15-121sp10/Unit06B.pdf
3.Algorithms and data structures in C/C++ by Alex Allian. http://www.cprogramming.com/tutorial/computersciencetheory/heap.html

E’TIBORINGIZ UCHUN RAXMAT !

mavzu. Heap tree ko’rinishidagi binar daraxtlarni qurish algoritmi va ular ustida amallar

10 – mavzu. Heap tree ko’rinishidagi binar daraxtlarni qurish algoritmi va ular ustida amallar


1. Heap tree tuzilmasi tavsifi.
2. Heap tree ustida amal bajarish algoritmlari.
3. Heap treeni tashkil etish usullari va samaradorligi.
Kalit so’zlar: heap tree, element, algoritm, binar daraxt.
1. Heap tree tuzilmasi tavsifi
Heap tree so’zi inglizchadan olingan bo’lib, ikkilik uyurma daraxti degan ma’noni anglatadi va binar daraxtning bir turi bo’lib, binar daraxtdan quyidagi ikkita xususiyati bilan ajralib turadi.
  • Har bir tugun qiymati uning o’g’il tugunlari qiymatidan katta yoki teng (yoki kichik yoki teng bo’lishi ham mumkin);
  • Daraxt ideal muvozanatlangan, yoki daraxt barg tugunlari chapdan o’ngga qarab to’ldiriladi.

  • Agar xar bir tugun o’g’il tugunlatdan katta yoki teng bo‘lsa, bu uyurma daraxtiga max heap, aks holda ya’ni ota tugun farzandlardan kichik yoki teng bo’lsa, min heap deyiladi. Bu degani, max heap da maksimal element daraxt ildizida joylashadi, min heapda esa daraxtning ildizida minimal element joylashadi.

10.1-rasm. Heap tree (a) va heap tree bo’lmagan daraxtlar
Bu yerda rasmdagi a) heap tree va b),c) lar esa heap tree emas. Chunki b va c rasmda heap treening birinchi va ikkinchi xususiyatlari buzilgan mos ravishda. Qizig’I shuki, heap tree massiv yordamida yasalishi mumkin. Masalan, data[] = {2 8 6 1 10 15 3 12 11} massiv berilgan bo’lsin. Undan yuqoridan pastga va chapdan o’ngga elementlarni joylab daraxtni (heap tree bo’lmagan) xosil qilamiz. Bunday daraxtlarda bosqichlar soni O(lgn) gat eng.
10.2-rasm. Massivdan daraxt xosil qilish
Bu daraxtni heap tree ko’rinishida qayta tashkil etish uchun uzunligi n ga teng heap massivini quyidagi shartlarga asoslanib tashkil etamiz:
heap[i] ≥ heap[2·i], for 0 ≤ i<
va
heap[i] ≥ heap[2·i + 1], for 0 ≤ i<
heap tree elementlari tartiblanmagan hisoblanadi.
Boshqacha qilib aytadigan bo’lsak, sonlar ketma-ketligidan heap treeni qurish uchun
  • 1-elementni daraxt ildizi qilib olamiz.
  • Har qanday i-element uchun quyidagi o’rinli:
    • Uning chap o’g’il tuguni 2*i indeksda
    • O’ng o’g’il tuguni esa 2*i+1 indeksda
    • Uning ota tuguni i/2 indeksda bo’ladi.

10.3-rasm. Heap tree
Ya’ni 1-elementni ildiz qilib olgach, qolgan elementlarni chapdan o’ngga qarab daraxtni to’ldirib ketiladi. Xar bir ildizda faqat ikkita o’g’il tugun chiqishi kerak. Agar shunday tartibda elementlar joylashtirilib chiqadigan bo’lsa, xar bir a[i]-o’rinda turgan ota tugunning chap tomoniga a[2*i]-element va o’ng tomoniga esa a[2*i+1]-element joylashadi. Quyida bir xil sonlardan turlicha heap tree xisol qilinganligi keltirilgan:
10.4 – bir xil sonlardan tashkil topgan heap tree tuzilmalari
10.5. Heap treeni to’g’ri va noto’g’ri tashkil etilganligi.
Bu min-heapmi yoki yo’q?
Heap tree nimaga kerak?
Heap tree prioritetli navbatni ifodalashda juda qo’l keladi. Eng kerakli element tuzilma eng yuqorisida joylashadi. Agar u o’chirilsa, elementlar qayta joylashtirilishi zarur. Bu tuzilma graflarda eng qisqa masofani aniqlash masalasini echish Dijkstra algoritmini samaradorligini oshirishda prioritetli navbatlardan foydalanilganda qo’l keladi. Bundan tashqari heap tree - samaradorligi O(nlogn) bo’lgan piramida saralash algoritmida ham qo’llaniladi.

Download 17,57 Mb.

Do'stlaringiz bilan baham:
1   ...   119   120   121   122   123   124   125   126   ...   129




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