👤

Arbore binar. Nu am vazut asa ceva, cum se face ?

Arbore Binar Nu Am Vazut Asa Ceva Cum Se Face class=

Răspuns :

Rayzen

S - arbore stâng, R - rădacina, D - arbore drept.

Inordinea e de forma:  S R D

Preordinea e de forma:  R S D

Postordinea e de forma:  S D R

in(Arbore) = (d b e a f c g)

pre(Arbore) = (a b d e c f g)

⇒ R = {a},  S = {b,e,d},  D = {c,f,g}

post(S):

- in(S) = (d b e)

- pre(S) = (b d e)

⇒ R = {b}, S = {d}, D = {e} ⇒ post(S) = (d e b)

post(D):

- in(D) = (f c g)

- pre(D) = (c f g)

⇒ R = {c}, S = {f}, D = {g} ⇒ post(D) = (f g c)

⇒ post(Arbore) = post(S) post(D) post(R) = (d e b f g c a)

Răspuns corect C)

Răspuns:

C

Explicație:

Parcurgerea in preordine - RSD (radacina, stanga, dreapta - radacina, subarbore stang, subarbore drept).

Parcurgerea in inordine - SRD (stanga, radacina, dreapta - subarbore stang, radacina, subarbore drept).

Parcurgere in postordine - SDR (stanga, dreapta, radacina).

Daca avem parcurgerea in inordine = d b e a f c g, avem radacina in mijloc: a, subarborele stang: d b e -> radacina acestui arbore(si descendentul stang al lui a) este b, si avem nodurile d (descendent stang al lui b) si e (descendent drept al lui b). Subarborele drept = f c g -> radacina subarborelui drept(si descendentul drept al lui a) este c si are nodurile f(descendentul stang al lui c) si g(descendentul drept al lui c).

Am pus arborele in atasament.

Pentru parcurgerea in preordine(RSD- radacina,stanga,dreapta), avem:

a - radacina arborelui

b d e - subarborele stang-> b - radacina, d -descendent stang, e-descendent drept

c f g - subarborele drept -> c - radacina, f - descendent stang, g - descendent drept

Pentru parcurgerea in postordine(SDR- stanga, dreapta, radacina):

Prima data, subarborele stang:

d e b(descendent stang, descendent drept, radacina)

Apoi subarborele drept:

f g c(descendent stang, descendent drept, radacina)

Si apoi radacina arborelui, a.

Daca le unim, avem d e b f g c a.(raspuns: c)

Vezi imaginea CinevaFaraNume