trasp2

Anuncio
ÁRBOLES ENHEBRADOS
procedure enhe-preor(p, enh:NodoPtr);
(*enhebra un árbol en preorden*)
var enh-aux:NodoPtr
begin
if p<>nil then
begin
if p^.der=nil
then enh-aux=enh
else enh-aux=p^.der;
enhe-preor(p^.izq, enh-aux);
if p^.der=nil and p^.izq=nil
then p^.der=enh
else enhe-preor(p^.der, enh);
end;
end;
1
5
2
3
1
2
4
6
5
3
4
7
ÁRBOLES ENHEBRADOS
procedure rec-thread-inor(p:NodoPtr);
(*recorrer un árbol previamente
enhebrado en inorden*)
begin
while p<>nil do
begin
while p^.izq<>nil do
p:=p^.izq;
proccess(p);
while p^.enh do
begin
p:=p^.der;
proccess(p);
end;
p:=p^.der;
end;
end;
2
3
7
1
2
2
1
4
1
3
6
5
Descargar