A
UBB · Informatică
254

Se consideră arborele binar de mai jos, împreună cu algoritmul alăturat acestuia. Rădăcina este a. Copiii lui a: b (stânga), c (dreapta). Copiii lui b: d (stânga), e (dreapta). Copilul drept al lui c este f. Copiii lui d: g (stânga), k (dreapta). Copilul drept al lui e este h. Copiii lui f: i (stânga), j (dreapta). Copilul drept al lui g este l. Copilul drept al lui k este m. Copilul drept al lui i este n. Copilul drept al lui n este o.

abdgklhmecfinjo

Algoritm 1

Algorithm algorithm(node)
  If node = null then
    Return 0
  EndIf
  count ← 0
  If (node.left ≠ null AND node.right = null) OR
     (node.left = null AND node.right ≠ null) then
    count ← count + 1
  EndIf
  Return count + algorithm(node.left) + algorithm(node.right)
EndAlgorithm

Care este valoarea returnată de algoritm, considerând că apelul acestuia a avut ca parametru rădăcina arborelui?

15 / 32