VA ROG AJUTOR PASCAL!!!
Elaboraţi o procedură recursivă care parcurge un arbore binar în ordinea:
a) RDS (rădăcina – subarborele drept – subarborele stîng);
b) DRS (subarborele drept – rădăcina – subarborele stîng);
c) DSR (subarborele drept – subarborele stîng – rădăcina). Transcrieţi procedura elaborată într-o formă nerecursivă.
Răspunsuri la întrebare
a) în inordine (SRD) – se parcurge recursiv mai întâi fiul (subarborele) stâng, apoi rădăcina, apoi fiul (subarborele) drept.
b) în postordine (SDR) – se parcurge mai întâi fiul stâng, apoi cel drept, apoi rădăcina.
c) în preordine (RSD) – mai întâi se parcurge rădăcina, fiul stâng apoi fiul drept.
procedure preordine (a: arbore);
begin
if a <> nil then
begin
Write(A^.info, ',');
preordine(A^.sting);
preordine(a^.drept);
end;
end;
procedure inordine (a: arbore);
begin
if a <> nil then
begin
inordine(A^.sting);
write(a^.info,',');
inordine(a^.drept);
end;
end;
procedure postordine (a: arbore);
begin
if a <> nil then
begin
postordine(A^.sting);
postordine(a^.drept);
write(a^.info,',');
end;
end;