Sobes.tech
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