Junior
Nima bu binar daraxt?
sobes.tech AI
AIdan javob
Ikili dara — bu dara tuzilmasi bo'lib, unda har bir tugun maksimal ravishda ikki farzandga ega: chap va o'ng.
Asosiy xususiyatlar:
- Har bir tugun qiymat (ma'lumotlar) uchun ko'rsatkichga va chap va o'ng farzandlarga ko'rsatkichlarga ega (bo'sh bo'lishi mumkin).
- Daraqda ota-ona bo'lmagan eng yuqori tugun — ildiz tugun mavjud.
- Yashil tugunlar — farzandlari bo'lmagan tugunlar.
- Pastki daraqlar — har biri ildiz darağidan tashkil topgan ikili daraqlardir.
Asosiy turlari:
- To'liq ikili daraq: har bir darajada, ehtimol, oxirgi darajada, barcha tugunlar ikki farzandga ega va oxirgi darajadagi barcha tugunlar chapga siljirilgan.
- Mukammal ikili daraq: barcha darajalar to'liq to'ldirilgan va har bir tugun (yashil tugunlar bundan tashqari) ikki farzandga ega.
- Muvozanatli ikili daraq: har bir tugunning chap va o'ng pastki daraqlarning balandligi 1 dan ortiq farq qilmaydi.
QA'da qo'llanilishi:
- Testlar hierarxiyasi: test ssenariyalari yoki test to'plamlarini daraxt shaklida tashkil qilish, yaxshiroq o'qilishi va navigatsiya uchun.
- Ma'lumotlarni qidirish va saralash: ikili qidiruv daraqlari tez qidirish, qo'shish va elementlarni o'chirish uchun ishlatiladi (masalan, ma'lumotlar ustida operatsiyalarni bajarishning ishlashini sinashda).
- Ma'lumotlarni tuzish: test ma'lumotlari yoki bajarilish natijalarini taqdim etish va tashkil qilish.
Python'da tugunni ifodalash misoli:
class Node:
def __init__(self, value):
self.value = value # Tugun qiymati
self.left = None # Chap farzand
self.right = None # O'ng farzand