Documente Academic
Documente Profesional
Documente Cultură
Arbori?!?!?!
Arbori
Structura arborelui
Arbori
Arbori
k=
x=
rad
9
st dr
5
14
st dr
st dr
3
nil nil
nil nil
nil
st dr
10
16
nil nil
nil nil
8
nil nil
Var rad:Nod;
procedure intr(var x:Nod;k:integer);
begin
x=nil then
then
ifif x=nil
begin
new(x);
x^.inf:=k;
x^.st:=nil;
x^.dr:=nil;
end
else if k>x^.inf then intr(x^.dr,k)
else intr(x^.st,k);
end;
begin
intr(rad,6);
end.
Arbori
Parcurge inordine
x=
Var rad:Nod;
procedure parcurge(x:Nod);
begin
if x^.st<>nil then parcurge(x^.st);
Write(x^.info, );
);
if x^.dr<>nil then parcurge(x^.dr);
end;
begin
parcurge(rad);
end.
rad
9
st dr
5
14
st dr
st dr
nil nil
st dr
10
16
nil nil
nil nil
nil nil
nil nil
5 6 7 8
9 10 14 16
Parcurgeri in arbori
Arbori
Arbori
Cautare iterativa
x^.info=
6759
NIL
x=
k=
res=
rad
9
st dr
14
st dr
st dr
nil nil
st dr
10
16
nil nil
nil nil
nil nil
nil nil
gaseste=
Var rad,res:Nod;
function gaseste(k:Integer):Nod;
var x:Nod;
begin
x:=rad;
while (x<>nil) and (k<>x^.info) do
begin
if (k<x^.info) then x:=x^.st
else x:=x^.dr;
end;
gaseste:=x;
gaseste:=x;
end;
end;
begin
res:=gaseste(6);
end.
NIL
Arbori
Element minim
Var rad,res:Nod;
function minim:Nod;
var x:Nod;
begin
x:=rad;
while (x^.st<>nil) do
x:=x^.st;
minim:=x;
end;
begin
res:=minim;
end.
res=
x=
rad
9
st dr
5
14
st dr
st dr
nil nil
st dr
10
16
nil nil
nil nil
nil nil
nil nil
The
End