noip初赛 大牛请进:二叉树的遍历!!
来源:百度知道 编辑:UC知道 时间:2024/05/13 10:47:50
二叉树的先序、中序、后序究竟是怎么走的(最好附一个二叉树的图讲解一下) 如果给出一个二叉树的两种遍历,怎么求另外一种遍历?
周六就要初赛了,望高手为我讲解一下
周六就要初赛了,望高手为我讲解一下
A
/ \
B C
/ \ / \
D E F G
前序 A BDE CFG
后序 DEB FGC A
中序 DBE A FCG
前、中、后是对根来说
总根,还有每个子树的根,你我帮你空出来了,自己多研究研究。
这是我写的一个根据中序和后序求前序的程序,给你参考。
var st2,st3:string;
procedure Love(s1,s2:string);
var l,r,i,k1,k2:integer;
mid:string;
begin
l:=length(s1);
r:=pos(copy(s2,l,1),s1);
write(copy(s1,r,1));
if r>1 then
Love(copy(s1,1,r-1),copy(s2,1,r-1));
if r<l then
Love(copy(s1,r+1,l-r+1),copy(s2,r,l-r));
end;
begin
readln(st2);
readln(st3);
Love(st2,st3);
end.
1
/ \
2 3
/ \ / \
4 5 6 7
先序:1245367
中序:4251637
后序:4526731
先序:中左右。
中序:左中右。
后序:左右中。
我18日也要参加noip
我们彼此彼此
不过这方面我很清楚
请你采纳我的答案
谢谢
遍历概念
所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题