4-tajriba ishi. DARAXTSIMON TUZILMALAR
Ishdan maqsad: Talabalar daraxtsimon tuzilmalar, binar daraxtlarni e‟lon
qilish, uning ustida amallar bajarish algoritmlarini tadqiq qilishlari va o‟rganishlari
kerak, bu algoritmlarning dasturiy realizatsiyasini amalga oshirish ko‟nikmasiga
ega bo‟lishlari kerak.
Qo‟yilgan masala: Har bir talaba topshiriq varianti olib, undagi masalaning
qo‟yilishiga mos binar daraxtlarni tadqiq qilishga oid dasturni ishlab chiqishlari
kerak.
Ish tartibi:
Tajriba ishi nazariy ma‟lumotlarini o‟rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
4.1. Daraxt ko‟rinishidagi ma‟lumotlar
tuzilmasi haqida umumiy tushunchalar.
Uzellar (elementlar) va ularning munosabatlaridan iborat elementlar
to‟plamining ierarxik tuzilmasiga daraxtsimon ma‟lumotlar tuzilmasi deyiladi.
Daraxt – bu shunday chiziqsiz bog‟langan ma‟lumotlar tuzilmasiki, u
quyidagi belgilari bilan tavsiflanadi:
- daraxtda shunday bitta element borki, unga boshqa elementlardan murojaat
yo‟q. Bu element daraxt ildizi deyiladi;
- daraxtda ixtiyoriy element chekli sondagi ko‟rsatkichlar yordamida
boshqa tugunlarga murojaat qilishi mumkin;
- daraxtning har bir elementi faqatgina o‟zidan oldingi kelgan bitta element
bilan bog‟langan.
64
4.2. Binar daraxtlarni qurish
Binar daraxtda har bir tugun-elementdan ko‟pi bilan 2 ta shox chiqadi.
Daraxtlarni xotirada tasvirlashda uning ildizini ko‟rsatuvchi ko‟rsatkich berilishi
kerak. Daraxtlarni kompyuter xotirasida tasvirlanishiga ko‟ra har bir element
(binar daraxt tuguni) to‟rtta maydonga ega yozuv shaklida bo‟ladi, ya‟ni kalit
maydon, informatsion maydon, ushbu elementni o‟ngida va chapida joylashgan
elementlarning xotiradagi adreslari saqlanadigan maydonlar.
Shuni esda tutish lozimki, daraxt hosil qilinayotganda, otaga nisbatan chap
tomondagi o‟g‟il qiymati kichik kalitga, o‟ng tomondagi o‟g‟il esa katta qiymatli
kalitga ega bo‟ladi. Har safar daraxtga yangi element kelib qo‟shilayotganda u
avvalambor daraxt ildizi bilan solishtiriladi. Agar element ildiz kalit qiymatidan
kichik bo‟lsa, uning chap shoxiga, aks holda o‟ng shoxiga o‟tiladi. Agar o‟tib
ketilgan shoxda tugun mavjud bo‟lsa, ushbu tugun bilan ham solishtirish amalga
oshiriladi, aks holda, ya‟ni u shoxda tugun mavjud bo‟lmasa, bu element shu
tugunga joylashtiriladi.
Masalan, daraxt tugunlari quyidagi qiymatlarga ega 6, 21, 48, 49, 52, 86, 101.
U holda binar daraxt ko‟rinishi quyidagi 4.1-rasmdagidek bo‟ladi:
4.1-rasm. Binar daraxt ko‟rinishi
Natijada, o‟ng va chap qism daraxtlari bir xil bosqichli tartiblangan binar
daraxt hosil qildik. Agar daraxtning o‟ng va chap qism daraxtlari bosqichlarining
farqi birdan kichik bo‟lsa, bunday daraxt ideal muvozanatlangan daraxt deyiladi.
Yuqorida hosil qilgan binar daraxtimiz ideal muvozanatlangan daraxtga misol
65
bo‟ladi. Daraxtni muvozanatlash algoritmini sal keyinroq ko‟rib chiqamiz. Undan
oldin binar daraxtni yaratish algoritmini o‟rganamiz.
Dostları ilə paylaş: |