Escolar Documentos
Profissional Documentos
Cultura Documentos
pt info then
Detete (x, pj right)
lee begin (sterzcre pf}
ane
if qt right = nil then
Pi ~gflett
else if qi left = nil then
B= qi-right
else Del (q7.Lett)
end
end
O variantd iterativi a cdutirii cu fergere @ unui nod dintr-un arbore binar
de cdutare este implementatd de procedura SearchDel. Ee utilizenr!
Proceducile Delete! 9i Delete? care sterg un nod cu un fiu, respectiv cu
dot fii.
s
Procedure Search Del (x: integer; root: leg );
‘var pl. p2, falseroot: leg:
{(p1. p2 pointer eurenti,falzeroot pentru nod falstaainte de radacina }
procedure Delete1(var p: leg) (Sterge un nod pf cu cel mult un succesor}
begin
if ph-teft= nit then
P= phright
else p:=pt.leh
‘end, (Delete 1}
Procedure Delete 2(vat peg); (serge un nod pf eu doi suecesot )
{aut predeceserl in irordine al lui 9 jnfo mergand un pas a ste,
apoi la dreapta cit se poste . Parcurgerea se face cur siq™ attr }
wargcleg— (dl=-1<->r~at lef} |
teger, dl =1 <>r~ gh right)
an
= prlef
di;=-1
while 1 right <> nil do
begin :
aer
™ rhright;
a=1
end
(©) ph.infe
=rtinfo; {Se copiac8 in pt valorile dia rt}
pT contor = r7 contor,
(©) [Se leap de tat, q, subarborele sting al lui r)
if dl<0 then
at left: = rt lef
else af-right: = rf left }
end; (Delete 2}
begin (Search Del)
new falseroot );
falsoroot} right: ~ root ; {adaugdm nod marcaj)pl: = root,
pl = falsercot,
@=1
found: = false
while (p1e nil ) and not found do
‘begin
“pl
ifx Você também pode gostar