- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六节 根据两种遍历顺序确定树结构
一、由两种顺序确定树结构
遍历二叉树有三种规则:
前序遍历:根—左子树—右子树;
中序遍历:左子树—根—右子树;
后序遍历:左子树—右子树—根;
由于前序遍历的第一个字符和后序遍历的最后一个字 为根,中序遍历中位于根左方的子串和
位于根右方的子串分别反映了左子树和右子树的结构,因此二叉树的形态可以由其中序与后序
或者前序与中序唯一确定。但无法反映左子树和右子树结构的前序遍历与后序遍历却不能做到
这一点,因此这两个遍历顺序可对应多种二叉树的形态。
二、由中序遍历与后序遍历确定前序遍历
由二叉树的遍历规则可以看出,后序遍历的最后一个字
为根,中序遍历中位于该字符左侧的子串为左子树中序遍历的结果;中序遍历中位于该字符右
侧的子串为右子树中序遍历的结果。
设 中序遍历s1=s …s …s
1 k n
后序遍历s2=s ……s
1 n
显然,后序遍历中的s 为二叉树的根。按照前序遍历的规则输出s 。在中序遍历中与s 相同的字
n n n
为s 。若k1,说明左子树存在,位于s 左侧的子串s …s
k k 1 k-
为左子树中序遍历的结果,后序遍历中的前缀s …s
1 1 k-
为左子树后序遍历的结果;若kn,说明右子树存在,位于s 右侧的子串为右子树中序遍历的结果
1 k
;后序遍历中的s …s
k n-
1为右子树后序遍历的结果。按照按照前序遍历的规则分别递归二叉树的左子树和右子树。
procedure solve1(s1,s2:string); { 计算和输出中序遍历s1和后序遍历s2对应的前序遍历}
var
k:integer ;
begin
if length(s2)=1 {若当前子树仅剩一个节点,则输出}
then write(s2)
else begin
k:=pos(s2[length(s2)],s1);{在中序遍历中寻找子树根}
write(s1[k]) ;
if k1 {若左子树存在,则递归遍历左子树}
then solve1(copy(s1,1,k-1),copy(s2,1,k-1)) ;
if klength(s1) { 若右子树存在,则递归遍历右子树}
then solve1(copy(s1,k+1,length(s1)-k),copy(s2,k,length(s2)-k));
end;
end;
三、由中序遍历与前序遍历确定后序遍历
原理同前,程序略微有些不同,看下面:
procedure solve2(s1,s2:string);{计算和输出中序遍历s1和前序遍历s2对应的后序遍历}
var
k:integer ;
begin
if length(s2)=1 {若当前子树仅剩一个节点,则输出}
then write(s2)
else begin
k:=pos(s2[1],s1); {在中序遍历中寻找子树根}
if k1 {若左子树存在,则递归遍历左子树}
then solve2(copy(s1,1,k-1),copy(s2,2,k-1)) ;
if klength(s1) { 若右子树存在,则递归遍历右子树}
then solve2(copy(s1,k+1,length(s1)-k),copy(s2,k+1,length(s2)-k));
end;
write(s1[k]) ;{或者输出子树根
您可能关注的文档
最近下载
- 2024年深圳市红岭中学高一入学分班考试语文作文模拟题及范文分析.pdf VIP
- 沉降监测基准网设计及方案设计.docx VIP
- 信息化运维服务投标方案362页.doc VIP
- 汽(煤、柴)油加氢装置操作工(高级)考试题库(完整版).docx VIP
- 2025高中信息技术课标.docx
- 信息系统安全风险 课件 2023—2024学年 教科版(2019)高中信息技术必修2.pptx VIP
- 2025年九江水务面试题目及答案.doc VIP
- 2025年中国医用对讲系统主机市场调查研究报告.docx
- 综合能力测试.pdf VIP
- 2024年人教版四年级上册数学第五单元课后练习题(含答案和概念).docx VIP
文档评论(0)