1、 信息科学与技术学院信息科学与技术学院 数据结构数据结构课程设计报告课程设计报告 题目名称: 二叉树的应用二叉树的应用 专业班级: 计算机科学与技术 目目 录录 1 1、课程设计的目的、课程设计题目、题目要求、课程设计的目的、课程设计题目、题目要求 3 3 1.1 课程设计的目的 3 3 1.2 课程设计的题目 3 3 1.3 题目要求 3 3 2 2 课程设计的实验报告内容课程设计的实验报告内容: :. 3 3 3 课程设计的原程序代码课程设计的原程序代码: : 3 3 4 4 运行结果运行结果 1212 5. 5. 课程设计总结课程设计总结 1717 6 6 参考书目参考书目 17 1 课
2、程设计的目的课程设计的目的 1.1 课程设计的目的: 通过以前的学习以及查看相关资料,按着题目要求编写程序,进一步加强对 编程的训练,使得自己掌握一些将书本知识转化为实际应用当中.在整个程序中, 主要应用的是链表,但是也运用了类.通过两种方法解决现有问题. 1.2 课程设计的题目课程设计的题目: 二叉树的应用二叉树的应用 1.3 题目要求题目要求: 1. 建立二叉树的二叉链表存储算法 2. 二叉树的先序遍历,中序遍历和后序遍历输出 3. 非递归的先序遍历,中序遍历 4. 二叉树的层次遍历 5. 判断此二叉树是否是完全二叉树 6. 二叉树的左右孩子的交换 2 课程设计的实验报告内容课程设计的实验
3、报告内容: 7. 通过递归对二叉树进行遍历。二叉树的非递归遍历主要采用利用队进行遍历。此后的判 断此二叉树是否是完全二叉树也才采用队,而二叉树的左右孩子的交换则采用的是一个 简单的递归。 3课程设计的原程序代码课程设计的原程序代码: #include using namespace std; #define MAXSIZE 100 int sign=0; void menu(); / typedef struct BiTNode char data; BiTNode *left_child,*right_child; BiTNode,*BiTree; int CreateBiTree(BiTr
4、ee coutleft_child); /create leftchild CreateBiTree(T-right_child); /create rightchild return 1; /判断此树是否是完全二叉树 int LevelOrder1(BiTree BiTree p; int front,rear; front=-1,rear=0; stackrear=T; while(rear!=front) front+; p=stackfront; if(p-left_child=NULL) if(p-left_child) rear+; stackrear=p-left_child; if(p-right_child) rear+; stackrear=p-right_child; return 1; void Output(BiTree return ; /空树 coutleft_child); /输出左子树 if(T-rig