1、 C C 语言综合实验设计报告语言综合实验设计报告 题目:数据结构:二叉树的遍历题目:数据结构:二叉树的遍历 学院学院: :化学工程学院化学工程学院 专业专业: : 班级班级: : 一一 选题背景选题背景 数据结构是由若干特性相同的数据元素构成的集合, 且在集合上存 在一种或多种关系。由关系不同可将数据结构分为四类:线性结构、 树形结构、图状结构和集合结构。数据的存储结构是数据逻辑结构在 计算机中的映象,由关系的两种映象方法可得到两类存储结构:一类 是顺序存储结构,它以数据元素相对的存储位置表示关系,则存储结 构中只包含数据元素本身的信息;另一类是链式存储结构,它以附加 的指针信息(后继元素的
2、存储地址)表示关系。数据结构课程是离散 数学的后续课程,并是操作系统、编译原理、数据库系统、计算机算 法设计与分析、计算机网络、软件工程、人工智能等的基础课程,是 将来进行大型程序设计的一个训练过程。 二二 设计思想设计思想 通过调用函数的方法进行二叉树的遍历,定义坐标固定结点的位 置。自动建立树和手动建立树的标志,选择: 2 手动,1 自动。 文本模式 下创建树的过程,如果选择 1 自动,电脑自动建立树,如果选择 2 手 动, ,需要人工手动建立。手动提示输入结点,创建好树。再用图形显 示创建好的树,进行先序,中序,后序遍历。遍历时显示每个结点的 过程。最后关闭图形。 三三 主要问题的解决方
3、法及技术关键主要问题的解决方法及技术关键 ? 存在的主要问题是在手动创建树时怎样输入结点,当选择“人工手 动建立”时,在提示后依次输入 26 个字符或数字,每行一个。此时树 就能建立,然后用图形显示出来。本程序的技术关键是建立二叉树和 图 形 显 示 遍 历 的 过 程 , 分 别 用 到 Tree *CreatTree(),Void DrawTree(Tree *t)等函数。遍历结束后,图形关闭。 四四 流程图流程图 开始 主函数 文本模式下 创建树 选择 常量 2 常量 1 Printf() Root=InitTree() 调用函数 Tree*InitTree() 图形显示创建 的树 五五
4、 程序清单程序清单 /*tree2.c 二叉树演示*/ 图形初始 化 图形关闭 END 遍历时显示结点 的过程 前序遍历 中序遍历 后序遍历 #include #include #include #include #include typedef struct TREE char data;/*树的结点数据*/ struct TREE *lchild; struct TREE *rchild; int x;/*树的 x 坐标*/ int y;/*树的 y 坐标*/ Tree; struct OUTPUT int x;/*三种遍历的 x 坐标*/ int y;/*三种遍历的 y 坐标*/ int num; s; int nodeNUM=0;/*统计当前的结点数字,最多 26 个*/ char way;/*自动建立树和手动建立树的标志,2 手动,1 自动*/ char str3;/*显示结点数据的字符串*/ void Init();/*图形初始化*/ void Close();/*图形关闭*/ Tree *Cr