数据结构课程设计报告 1 X X X 大学 电子与信息工程学院 数据结构课程设计报告 ( 2012——2013 年度第一学期) 课程名称: 数据结构课程设计 题 目 :6.2 二叉树的基本操作演示程序 院 系: 计算机科学系 班 级: 10 软件本二班 姓 名: X X 学 号: 100913005 指导教师: 孙凌宇老师 成 绩: 2012 年 月 日 数据结构课程设计报告 2 成 绩 评 定 一、 指导教师评语 二、 成绩 成绩 备注 指导教师: 日 期: 年 月 日 数据结构课程设计报告 3 设计题目<一>:6.2二叉树基本操作演示程序的设计与实现 一、设计要求 1.问题描述 设计一个与二叉树基本操作相关的演示程序。 2.需求分析 (1 )创建二叉树。按照用户需要的二叉树,构建二叉树。 (2 )将创建的二叉树,以树状形式输出。 (3 )分别以先序、中序、后序三种遍历访问二叉树。 (4 )输出二叉树的叶子结点及叶子结点的个数。 (5 )输出二叉树的高度。 二、概要设计 为了实现以上功能,可以从3个方面着手设计。 1. 主界面设计 为了实现二叉树的相关操作功能的管理,设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本程序。 本程序主控菜单运行界面如图1所示。 图1“二叉树基本操作程序”主菜单 数据结构课程设计报告 4 2 .存储结构设计 本程序采用二叉链式存储类型(BiTNode)存储二叉树的结点信息。二叉树的链表中的结点至少包含3个域:数据域(data)、左孩子指针域(Lchild)、和右孩子指针域(Rchild)。 3 .系统功能设计 本程序除了完成二叉树的创建功能外还设置了8个子功能菜单。由于这 8个子功能都是建立在二叉树的构造上的,所以二叉树的创建由主函数main()实现。8个子功能的设计描述如下: (1) 树状输出二叉树。树状输出二叉树有函数TranslevePrint()实现。当用户选择该功能时,系统即以树状的形式输出用户所创建的二叉树。 (2)先序遍历二叉树。由函数PreOrder()实现。该功能按照先序遍历访问二叉树的方法输出先序遍历序列。 (3)中序遍历二叉树。由函数InOrder()实现。该功能按照中序遍历访问二叉树的方法输出中序遍历序列。 (4)后序遍历二叉树。由函数PostOrder()实现。该功能按照后序遍历访问二叉树的方法输出后序遍历序列。 (5)输出叶子结点。该功能采用先序遍历二叉树的方法,依次输出叶子结点。由函数PreOrderLeaf()实现。 (6)...