11-mavzu Qidiruv binar daraxti. Qidiruv binar daraxtini qurish. Tugunlar qo‘shish va o‘chirish algoritmlari. Qidiruv binar daraxtini muvozanatlash algoritmlari


Download 292.49 Kb.
Sana25.11.2020
Hajmi292.49 Kb.
#151523
Bog'liq
MTA 11 mavzu Qidiruv binar daraxti 2020 2021


Reja:

11-mavzu Qidiruv binar daraxti. Qidiruv binar daraxtini qurish. Tugunlar qo‘shish va o‘chirish algoritmlari.Qidiruv binar daraxtini muvozanatlash algoritmlari.

Binar daraxtlar haqida tushuncha


Def.1.

Agar daraxtni tashkil etuvchi element(tugun)lardan ko`pi bilan 2ta shox chiqsa, yani har bir tugun tuzilmaning ko`pi bilan 2ta tugun bilan bog`langan bo`lsa, u holda bunday daraxt binar daraxt deyiladi.



eslatma

Umumiy holda binary daraxt har bir element 4ta maydonga ega yozuv hisoblanadi.

masaan, quyidagi kalit elementardan binar daraxt quramiz:50, 46, 61, 48, 29, 55, 79. u quyidagi ko`riishga ega bo`ladi:

Izoh

Binar daraxtda key(left_son).



оtа

Chаp o`g`il

O`ng o`g`il

Tarif 2. Agar daraxtning o`ng va chap qism daraxtlari bosqiclari va vazni teng bo`lsa, u holda bunday binar daraxt ideal muvozanatlangan daraxt deyiladi

Tarif 2. Agar daraxtning o`ng va chap qism daraxtlari bosqiclari va vazni teng bo`lsa, u holda bunday binar daraxt ideal muvozanatlangan daraxt deyiladi

Yuqorida hosil qilingan binary daraxtimiz ideal muvozanatlangan daraxtga misol bo`ladi.

Tarif 3. Agar daraxtning o`ng va chap qism daraxtlari bosqiclari orasida farq birdan katta bo`lmasa, u holda bunday binary daraxt muvozanatlangan daraxt deyiladi:


m-o`lchamli daraxtni binary ko`rinishga keltirish

Ko`p o`lchamli daraxtni binary ko`rinishga keltirishning noformal algoritmi:Daraxtning har bir tugunida katta o`g`liga mos chetki chap shoxidan tashqari barcha shoxlari kesib tashlanadi.


  • Bitta ota barcha o`g`illari gorizontal chiziq bilan ulanadi.
  • Hosil qilingan tuzilmada har bir katta o`g`il mazkur tugun pastida turgan tugun hisoblanadi. (agar u mavjud bo`lsa). Amallar ketma-ketligi quyida keltirilgan:

  • yoki
  • Daraxt ko’ruvi (elementlarni ma’lum bir ko’rinishda tartiblash yoki chop etish);
  • Daraxtga yangi tugun qo’yish;
  • Daraxt tugunini o’chrish;
  • Daraxt tugunini qidirish.

Binar daraxti ustida bajariadigan asosiy amallar.

Daraxt ko’ruvi
  • Tog’ri (Yuqoridan quyiga). Ko’ruv quyidagi ketma-ketlikda bajariladi: A-B-C;
  • Simmetrik (Chapdan o’ngga). Ko’ruv quyidagi ketma-ketlikda bajariladi: B-A-C.
  • Teskari (quyidan yuqoriga). Ko’ruv quyidagi ketma-ketlikda bajariladi: B-C-A.

Daraxtga yangi tugun qo’shish

Daraxtga yangi tugun qo’shish

Daraxtga biron bir tugun qo’shishdan oldin daraxtga berilgan kalit bo’yicha qidiruvni amalga oshirish lozim bo’ladi. Agar berilgan kalitga teng kalitli tugun mavjud bo’lsa, u xolda dastur o’z ishini yakunlaydi, aks holda daraxtga tugun qo’yish amalga oshiriladi.

Eslatma: Daraxtda yangi tugun faqatgina ko’rsatgichlarini kamida bittasi bo’sh bo’lgan tugundan keyin qo’yiladi.


Binar daraxtdan elementlarni o’chirish.

 

Daraxt tuguni o’chrilayotganda 3 hil holat bo’lishi mumkin:
  • Topilgan tugun terminal. Bu holatda tugun shunchaki o’chirib tashlanadi.
  • Topilgan tugun faqatgina bitta o’g’ilga ega. U holda o’g’il ota o’rniga joylashtiriladi.
  • O’chirilayotgan tugun ikkita o’g’ilga ega. Bunday holatda shunday qisim daraxtlar zvenosini toppish lozimki, uni o’chirilayotgan tugun o’rniga qo’yish mumkin bo’lsin. Bunday zveno har doim mavjud bo’ladi. Bu
  • Yoki chap qism daraxtning eng ‘ng tomondagi tuguni (ushbu zvenoga erishish uchun keying uchiga chap shoh orqali o’tib, navbatdagi uchlariga esa murojaat NIL bo’lmagunicha, faqatgina o’ng shohlari orqali o’tish zarur).
  • Yoki o’ng qisim daraxtning eng chap tuguni (ushbu zvenoga erishish uchun keying uchta o’ng shoh orqali o’tib, navbatdagi uchlariga esa, murojaat NIL bo’lmaguncha, faqatgina chap shohlari orqali o’tish zarur).

Binar daraxtidan tugunni o’cherish.

Binar daraxtda qidiruv

Binar daraxtda qidiruv

Mzkur prodseduraning vazifasi shundan iboratki, u berigan kalit bo’yicha daraxt tuguni qidiruvini amalga oshiradi. Qidiruv operatsiyasining davomiyligi daraxt tuzilishiga bog’liq bo’ladi. Haqiqatdan, agar elementlar daraxtga kalit qiymatlari o’sish (kamayish) tartibida kelib tushgan bo’lsa, u holda daraxt bir tomonga yo’nalgan ro’yhat hosl qiladi (chiqish darajasi 1 bo’ladi, ya’ni yagona shohga ega),

Bu holatda daraxtda qidiruv vaqti, bir tomonlama yo’naltirilgan ro’yhatdagi kabi bo’lib, o’rtacha qarab chiqishlar soni N/2 bo’ladi.

Agar daraxt muvozanatlangan bo’lsa u holda qidiruv eng samarali natija beradi. Bu holda qidiruvdan ko’p bo’lmagan elementlarni ko’rib chiqadi.

Mavzu bo’yicha nazorat savollari.

  • Binar daraxt tushunchasi.
  • Binar daraxt qanday hosil qilinadi?
  • Ko’p o’lchamli daraxtni qanday qilib binary daraxt ko’rinishiga keltirish mumkin? Daraxtda qanday amallarni bajarish mumkin?
  • Daraxtda ko’ruv qanday amalga oshiriladi?

Download 292.49 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling