实习二 【唯一地确定一颗二叉树】.docVIP

  • 3
  • 0
  • 约5.44千字
  • 约 11页
  • 2019-02-25 发布于安徽
  • 举报
实用文案 标准文档 实习二 1.需求分析: 【问题描述】:如果给出了遍历二叉树的前序序列和中序序列,则可以构造出唯一的二叉树。试编写实现上述功能的程序。 【基本要求】:已知一颗二叉树的前序和中序序列,试设计完成下列任务的一个算法。 (1)构造一颗二叉树。 (2)证明构造正确(即分别以前序和中序遍历该树,将得到的结果与给出的序列进行比较)。 (3)对该二叉树进行后序遍历,输出后续遍历序列。 (4)用凹入法输出该二叉树。 【开发环境】: 系统:windows7 编程软件:VC++6.0 2.设计: 给定二叉树结点的前序序列和中序序列,可以唯一确定该二叉树。因为前序序列的第一个元素是根结点,该元素将二叉树中序序列分成两部分,左边(设l个元素)表示左子树,若左边无元素,则说明左子树为空;右边(设r个元素)是右子树,若为空,则右子树为空。根据前序遍历中“根—左子树—右子树”的顺序,则由从第二元素开始的l个结点序列和中序序列根左边的l个结点构成左子树,由前序序列最后r个元素序列与中序序列根右边的r个元素序列构造右子树。 假设一棵二叉树中结点的个数为n, 即该棵二叉树的前序遍历序列为q1, q2, q3, ?, qn , 中序遍历序列为z 1, z 2, z 3, ?, z n , 用数学归纳法证明由这两个序列能够唯一地确定一棵二叉树B t.当n= 1 时, 即前序遍历序列和中序遍历序列均只有

文档评论(0)

1亿VIP精品文档

相关文档