Daraxt  - bu  uning har bir tuguni nol yoki bir- necha  bolaga ega bo‘lgan iyerarxik tuzilmadir.

Daraxt tuzilmasi quyidagi ko‘rinishda bo‘lishi mumkin:     

Bu daraxt oila tuzilmasini ifoda etmoqda. Daraxt tugunlari odamlarni ifodalamoqda, chiziqlar esa ular orasidagi bog‘lanishni. Bu turdagi maʼlumotlarni saqlash uchun daraxt tuzilmasi eng qulay tuzilma hisoblanadi.

Ikkilik (Binar) daraxt

Binar daraxt yuqorida ko‘rsatilgan daraxtga o‘xshaydi, lekin baʼzi qoidalarga asosan quriladi:

  • Har bir tugundagi bolalar soni 2 tadan oshmasligi zarur
  • Xar qanday tugun qiymatidan kichik bo‘lgan qiymat chap farzandga yoki chap           farzandning chap farzandiga yoziladi
  • Xar qanday tugun qiymatidan katta bo‘lgan qiymat  o‘ng farzandga yoki ong farzandning o‘ng farzandiga yoziladi

Keling shu qoidalar asosida qurilgan daraxtni ko‘raylik:   

Ahamiyat bering, bosh tugun (8)dan chapdagi barcha elementlarning qiymatlari sakkizdan kichik undan o‘ngdagisi esa sakkizdan katta. Bu qoidalar daraxtning xar bir tuguniga tegishli.

Keling daraxt bo‘sh bo‘lgandan boshlab qanday qurilganini qarab chiqamiz. Birinchi navbatda 8 ni qo‘shamiz. Dastlab daraxt bo‘sh bo‘lgani sabab u bosh tugun hisoblanadi. Undan keyin 4 ni qo‘shamiz. 8 dan 4 kichik bo‘lgani uchun tepadagi qoidalarga amal qilgan xolda 4 ni 8 ning chap tomoniga yozamiz. 8 ning  hech qanday farzandi bo‘lmagani uchun 4 shu joyda qoladi.

Endi 2 kiritamiz. Maʼlumki 2 dan 8 katta, shu sabab chapga yuramiz. Chapda allaqachon qiymat borligi sabab chap farzand qiymati 2 bilan solishtiriladi. Chap farzandning qiymati (4) 2 dan kata bo‘lgani sabab 4 ning chap tomoni qaraladi. 4 ning chap tomonida element bo‘lmagani sabab 2 shu joyga joylashtiriladi. Shunday qilib kiritilgan xar bir element uchun yuqoridagi solishtiruvlar qaytariladi.

Daraxtdan element olib tashlash

Daraxt elementini o‘chirish oddiy tuyulishi mumkin, lekin hisobga olish kerak bo‘lgan holatlari mavjud.

Algoritmning umumiy ko‘rinishi quyidagicha:

  • Qiymatga mos elementni topish
  • Uni o‘chirish

Biz berilgan qiymatga mos qiymatni topganimizdan keyin biz 3- xil holatga duch kelishimiz mumkin.

1 – Holat: O‘chirilishi lozim bo‘lgan elementning o‘ng farzandi mavjud emas.  

Bu holatda biz, shunchaki chap farzandni o’chirilgan element o’rniga ko’chiramiz. Natijada yuqoridagi daraxt quyidagi ko’rinishga keladi:

2 – Holat: O’chirilishi lozim bo’lgan elementning faqat o’ng farzandi mavjud va o’z navbatida bu farzandning chap tomonida element mavjud emas.

Bu holatda o’chirilgan element o’rniga o’ng farzand (6) ko’chiriladi. Natijada daraxt quyidagi ko’rinishga keladi:

3 – Holat: O’chirilayotgan elementning  o’ng farzandi mavjud va bu farzandning chap farzandi mavjud:

Bu holatda o‘chirilgan element o‘rinini eng chapdagi element egallaydi yaʼni 6. Bunga sabab element o‘chirilganda tuzilma o‘z xususiyatlarini saqlab qolishi zarur yaʼni tugunning chap tomonida undan kichik, o‘ng tomonida esa undan katta qiymat joylashishi kerak. Natija: 

Shunday qilib biz siz bilan binar daraxtdagi eng asosiy ikkita daraxt qurish va undan element o’chirish jarayonlarini o’rgandik.