description
由於先序、中序和後序中任乙個都不能確定一棵二叉樹,所以對二叉樹做如下處理,將二叉樹的空結點用.補齊,如圖所示。我們把這樣處理後的二叉樹稱為原二叉樹的擴充套件二叉樹,擴充套件二叉樹的先序和後序序列能唯一確定其二叉樹。
現給出擴充套件二叉樹的先序序列,要求出其中中序和後序序列。
input
output
sample input
abd..ef..g..c..
sample output
dbfegac
dfgebca
解題思路:先用指標變數和線性鍊錶建立乙個二叉樹,然後用遞迴分別輸出中序序列和後續序列即可。
程式:
type
tree=^node;
node=record
a:char;
lchild,rchild:tree;
end;
var
s:string;
i:longint;
t:tree;
procedure build(var t:tree);
begin
inc(i);
if s[i]<>'.' then
begin
new(t);
t^.a:=s[i];
build(t^.lchild);
build(t^.rchild);
end
else t:=nil;
end;
procedure printzx(t:tree);
begin
if t<>nil then
begin
printzx(t^.lchild);
write(t^.a);
printzx(t^.rchild);
end;
end;
procedure printhx(t:tree);
begin
if t<>nil then
begin
printhx(t^.lchild);
printhx(t^.rchild);
write(t^.a);
end;
end;
begin
readln(s);
i:=0;
build(t);
printzx(t);
writeln;
printhx(t);
end.
擴充套件二叉樹
由於先序 中序和後序序列中的任乙個都不能唯一確定一棵二叉樹,所以對二叉樹做如下處理,將二叉樹的空結點用 補齊,我們把這樣處理後的二叉樹稱為原二叉樹的擴充套件二叉樹,擴充套件二叉樹的先序和後序序列能唯一確定其二叉樹。現給出擴充套件二叉樹的先序序列,要求輸出其中序和後序序列。輸入有多組資料,對於每組資料...
擴充套件二叉樹
時間限制 1000 ms 記憶體限制 65536 kb 由於先序 中序和後序序列中的任乙個都不能唯一確定一棵二叉樹,所以對二叉樹做如下處理,將二叉樹的空結點用 補齊,如圖所示。我們把這樣處理後的二叉樹稱為原二叉樹的擴充套件二叉樹,擴充套件二叉樹的先序和後序序列能唯一確定其二叉樹。現給出擴充套件二叉樹...
擴充套件二叉樹
由於先序 中序和後序序列中的任乙個都不能唯一確定一棵二叉樹,所以對二叉樹做如下處理,將二叉樹的空結點用 補齊,如圖所示。我們把這樣處理後的二叉樹稱為原二叉樹的擴充套件二叉樹,擴充套件二叉樹的先序和後序序列能唯一確定其二叉樹。現給出擴充套件二叉樹的先序序列,要求輸出其中序和後序序列。輸入擴充套件二叉樹...