A
UBB · Informatică
263

Se consideră algoritmul procesare(nod), unde nod reprezintă un nod al arborelui, și arborele binar definit astfel:

106425871512112018

Algoritm 1

Algorithm procesare(nod)
  If nod = null then
    Return 0
  EndIf
  nivelSt ← procesare(nod.stanga)
  nivelDr ← procesare(nod.dreapta)
  If nivelSt = nivelDr then
    n ← nivelSt + 1
    p ← (n > 0 AND (n & (n − 1)) = 0)
    If p then
      nod.valoare ← nod.valoare * 2
    EndIf
  EndIf
  Return 1 + max(nivelSt, nivelDr)
EndAlgorithm

Pentru apelul procesare(nod), cum va arăta parcurgerea în preordine a arborelui modificat, dacă valoarea transmisă ca parametru este nodul rădăcină al arborelui?

24 / 32