Sobes.tech
Junior

Шта је бинарно дрво?

sobes.tech АИ

Одговор од АИ

Binarno drvo je struktura podataka u obliku stabla u kojoj svaki čvor ima najviše dva potomka: levog i desnog.

Ključne karakteristike:

  • Svaki čvor ima pokazivač na svoju vrednost (podatke) i pokazivače na levog i desnog potomka (mogu biti prazni).
  • Postoji korenski čvor — gornji čvor stabla, bez pretka.
  • Listovi su čvorovi bez potomaka.
  • Podstabla su svaki od binarnih stabala koja čine podstablo korena.

Glavne vrste binarnih stabala:

  • Puno binarno stablo: na svakom nivou, osim možda poslednjeg, svi čvorovi imaju dva potomka, a na poslednjem nivou svi čvorovi su pomereni ulevo.
  • Savršeno binarno stablo: svi nivoi su potpuno popunjeni, i svaki čvor (osim listova) ima dva potomka.
  • Uravnoteženo binarno stablo: visine levog i desnog podstabla svakog čvora razlikuju se najviše za 1.

Primene u QA:

  • Hijerarhija testova: organizacija testnih scenarija ili skupova testova u stablastu strukturu radi bolje čitljivosti i navigacije.
  • Pretraživanje i sortiranje podataka: binarna stabla pretraživanja koriste se za brzo pretraživanje, umetanje i brisanje elemenata (npr. pri testiranju performansi operacija nad podacima).
  • Struktuiranje podataka: predstavljanje i organizacija test podataka ili rezultata izvršenja.

Primer prikaza čvora u Pythonu:

class Node:
    def __init__(self, value):
        self.value = value  # Vrednost čvora
        self.left = None    # Levi potomak
        self.right = None   # Desni potomak