用二叉树解决出栈序列问题.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用二叉树解决出栈序列问题.pdf

维普资讯 2005镪 赣 南 师 范 学 院 学 报 NQ.6 第六期 JournalofGannanTeachersCollege De12.2005 用二叉树解决出栈序列问题 - 吴集林 (佛山职业技术学院,广东佛山 528000) 摘 要:利用二叉树与栈序列的关系,给出了当入栈序列为ll,2,3,……11}时如何得到所有可能的出栈序列的 方法,并用C++编程实现了这一算法.另外给出了判断一个序列不是入栈序列{1,2,3,……n}的出栈序列的结论, 并用二叉树的方法给出了证明,通过实例验证了以上结论. 关键词:二叉树;出栈序列;前序遍历;中序遍历 中图分类号:TP311.5 文献标识码:A 文章编号:1004—8332(2005)06—0028—03 文献[1]中第92页的一道习题:铁路进行列车调度时,常把站台设计成栈式结构,试问:(1)设有编号为 1,2,3…6的6辆列车,顺序开入栈式结构的站台,问可能出现的出栈序列有多少种?(2)若进站的6辆列车 顺序如上所述,问能否得到435612,3154623的出栈序列. 关于这个问题的解答,文献[2]中第77页只给出了出栈排列的数 目,没有说明理由,也没有给出可能的 出栈排列,而对于一个序列是否是出栈排列,文献 [2]也没有给出通用的方法.本文对这个问题进行了探讨, 利用二叉树与栈序列的关系,给出了当人栈序列为{1,2,3,…… }时如何得到所有可能的出栈序列的方法, 并用 C++编程实现了这一算法.另外给出了判断一个序列不是入栈序列{1,2,3,……n}的出栈序列的结 论,并用二叉树的方法给出了证明,通过实例验证了以上结论. 1 栈与二叉树的关系 由于二叉树的中序遍历要使用栈。由二叉树的前序序列与中序遍历的遍历过程可知,人栈序列和出栈序 列对应于一棵二叉树的前序遍历和中序遍历,因此出栈序列问题也就是一棵二叉树的中序遍历问题 ,因此解 决了二叉树的中序遍历问题也就解决了栈序列问题. 显然对于前序列为{1,2,3,4,…… }的二叉树,每一子树的节点的数值满足这一结论:根结点的数值小 于左子数中任一节点的数值,左子树中任一点的数值小于右子树中任一节点的数值. 引理 1 由给定的前序遍历和中序遍历能唯一确定一棵二叉树. 证明 为证明的方便,设前序遍历为 {1,2,3,4,…… }用数学归纳法证明这一结论. 当 =1时,前序遍历和中序遍历都为 l,得到只有一个根结点 1 的树. 当 =2时,前序遍历为(1,2),当中序遍历为(2,1)时得到图1的 树;当中序遍历为(1,2)时得到图2的树. 设当 三三惫一1时前序遍历和中序遍历唯一确定一棵二叉树,当71 =k时,设前序遍历为(1,2,3,…k),中序遍历为 q1,q2,…q 中序遍 历中必有一个数为 l,其中l为整棵树的根. 当ql=1时二叉树左子树为空,它只有右子树,右子树的前序遍 图l 图2 历为(2,3…k一1),中序遍历为(q2,… ),节点数为k一1,由假设二叉树的右子树是唯一的,所以这棵-y. 树也是唯一确定的. 当 =1时二叉树右子树为空,它只有左子树,左子树的前序遍历为(2,3…k一1),中序遍历为 (q2,… t 收稿 日期:2005—08—30 作者简介:吴集林(197O一),男,湖南娄底人,广东佛山职业技术学院ilI=师、硕士,主要研究方向为人 神经网络、计算机应用、应片=I数学 维普资讯 第6期 吴集林 用--y.树解决出栈序列问题 29 ),节点数为k一1,由假设二叉树的左子树是唯一的,所以这棵二叉树也是唯一确定的. 当qf=1时,左子树的前序遍历为(2,3

文档评论(0)

m3lv5hh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档