精品文档---下载后可任意编辑《数据结构》课程设计实验报告题 目 二叉树与二叉排序树的建立及其应用 学 院 商学院 专 业 信息系统与信息管理 班 级 信息 101 学 号 202452275115 学生姓名 徐鸽同组成员 王超男 何艳 李梦雪 关冬 张卫芳 韦露莎指导老师 刘小晶 编写日期 2024 年 6 月 27 日 精品文档---下载后可任意编辑一、问题描述:在此次课程设计中实现二叉树的建立,建立二叉树以后对该二叉树进行先根遍历、中根遍历、后根遍历操作。然后再应用这些遍历操作来实现二叉树的查找操作,并且根据两种遍历操作来推断两棵树是否相等。根据二叉排序树的结构特征建立二叉排序树。并且在已有二叉排序树的基础上,根据二叉排序树的特点,对其进行查找操作、插入操作、删除操作。二、问题分析:问题为:编程实现根据二叉树的先序遍历序列和中序遍历序列来建立两颗二叉树,并推断这两颗二叉树是否相等。在整个课程设计中,我主要是负责二叉树相关应用内容里的建立两颗二叉树的工作。(1) 首先取先跟遍历序列中的第一个字符作为根结点的数据域值建立根结点;(2) 在中根遍历序列中查找确定这个根结点在中根遍历序列中的位置,由此得到在根结点左边的序列即为此根结点左子树的中根遍历序列,而右边的序列即为此根结点右子树的中根遍历序列。(3) 根据左、右子树的中根遍历序列中的字符个数再在先序遍历序列中确定左、右子树的先序遍历序列。(4) 根据(2)(3)确定的左、右子树的先根和中根遍历序列采纳递归调用的方法建立根结点的左、右子树。 要实现上述建立的二叉树的步骤,需要引入 5 个参数:preOrder,inOrder,preIndex,inIndex和 count。其中:参数 preOrder 是整棵树的先跟遍历序列;inPrder 是整棵树的中根遍历序列;preIndex 是先跟遍历序列在 preOrder 中的开始位置:inIdex 是中根遍历序列在 inOrder 中的开始位置;count 表示树种结点的个数。三、数据结构描述:二叉链式存储结构Public class BiTree{Private BiTreeNode root; //树的根结点 Public BiTree(){ //构造一棵空树This.root=null;}Public BiTree(BiTreeNode root){ //构造一棵树This.root=root;}四、算法设计:1.算法流程图:2.具体算法:(每人负责不同部分)Public BiTree(String preorder,String inOrder,int preIndex,int inIndex,int count){If(count>0){ //先根和中根非空Char r = preorder.charAt...