信息科学与技术学院
数据结构课程设计报告
题目名
二叉树的应用称:
专业班级:计算机科学与技术
目录
1、课程设计的目的、课程设计题目、题目要求错误!未定义书签。
课程设计的目的 .......................... 错误!未定义书签。
课程设计的题目 .......................... 错误!未定义书签。
题目要求................................ 错误!未定义书签。
2课程设计的实验报告内容: ................ 错误!未定义书签。
3课程设计的原程序代码: .................. 错误!未定义书签。
4运行结果............................... 错误!未定义书签。
5. 课程设计总结......................... 错误!未定义书签。
6参考书目............................... 错误!未定义书签。
1课程设计的目的
课程设计的目的:
通过以前的学习以及查看相关资料,按着题目要求编写程序,进一步加强对
编程的训练,使得自己掌握一些将书本知识转化为实际应用当中.在整个程序中,主要应用的是链表,但是也运用了类.通过两种方法解决现有问题.
课程设计的题目: 二叉树的应用
题目要求:
1.建立二叉树的二叉链表存储算法
2.二叉树的先序遍历,中序遍历和后序遍历输出
3.非递归的先序遍历,中序遍历
4.二叉树的层次遍历
5.判断此二叉树是否是完全二叉树
6.二叉树的左右孩子的交换
2课程设计的实验报告内容:
7.通过递归对二叉树进行遍历。
二叉树的非递归遍历主要采用利用队进行遍历。
此后的判
断此二叉树是否是完全二叉树也才采用队,而二叉树的左右孩子的交换则采用的是一个简单的递归。
3课程设计的原程序代码:
#include<iostream>
using namespace std;
#define MAXSIZE 100
int sign=0;
void menu();
立二叉树>>"<<endl;
cout<<"<< 1.二叉树树深>>"<<endl;
cout<<"<< 2.二叉树结点
数>>"<<endl;
cout<<"<< 3.二叉树的叶子结点>>"<<endl;
cout<<"<< 4.二叉树的先序遍历>>"<<endl;
cout<<"<< 5.二叉树的中序遍历>>"<<endl;
cout<<"<< 6.二叉树的后序遍历>>"<<endl;
cout<<"<< 7.二叉树的非递归先序遍历>>"<<endl;
cout<<"<< 8.二叉树的非递归中序遍历>>"<<endl;
cout<<"<< 9.二叉树的层次遍历>>"<<endl;
cout<<"<< 10.判断此树是否是完全二叉树>>"<<endl;
cout<<"<< 11.左右孩子交换>>"<<endl;
cout<<"<< 12.退出>>"<<endl;
cout<<"************************************************************************ *****"<<endl;
}
1用二叉链表创建二叉树:
主菜单
求二叉树树深:
二叉树结点数:
二叉树的中序遍历:
二叉树的层次遍历:
左右孩子交换:
左右孩子交换后的中序遍历:
左右孩子交换后的层次遍历:
5. 课程设计总结:此次课程设计使我对书本的知识有进一步了解。
同时也是我知道自己的一些不足,这次课程设计我是在书本与同学的帮助下完成的。
它并不难,但是我没有自己独自完成是我的错误。
6参考书目:
1.《数据结构》课本
2.《数据结构基本操作》。