文档详情

数据结构二叉树.doc

发布:2016-04-13约1.51万字共23页下载文档
文本预览下载声明
重庆交通大学计算机与信息学院 综合性设计性实验报告 学 生 姓 名: 王 林 班 级: 08级 计科一班 学 号: 0 8 0 6 0 1 0 7 实验项目名称: 二叉树 实验所属课程: 数据结构 实验室(中心): 软件与通信实验中心 指 导 教 师 : 鲁云平 完 成 时 间: 2010 年 5 月 14 日 一、实验目的 培养学生数据结构思想及分析方法,提高学生对知识的综合应用能力及程序设计能力。 二、实验内容及要求 二叉树实验 设计二叉树的一种存储结构,并实现以下功能: 1.能插入新结点; 2.能删除结点; 3.四种遍历:层次遍历;先序遍历,中序遍历,后序遍历 4.能搜索特定结点 5.找某结点的双亲结点和子女结点; 6.计算二叉树的高度和结点的层次; 7.分别统计叶结点和分支结点数等功能 三、实验设备及软件 计算机、Visual C++6.0 四、设计方案 ㈠ 题目:二叉树 ㈡ 设计的主要思路 根据数据结构中二叉树结构思想实现具有非线性结构的模板二叉树! ㈢ 主要功能 1.建立二叉树 2.遍历二叉树 (1) 前序遍历 (2) 中序遍历 (3) 后序遍历 (4) 层次遍历 3.操作树节点 (1) 插入节点 (2) 删除节点 (3) 搜索节点 4.统计二叉树 (1) 叶结点数 (2) 分支结点数 (3) 高度或层次 五、主要代码 includeiostream.h #includestdio.h #includewindows.h #includeBinaryTree.h void main() { BinaryTreechar *b=new BinaryTreechar; int c; do { cout\n\t\t****二叉树****endl; cout\t\t* 1.建立二叉树 *endl; cout\t\t* 2.遍历二叉树 *endl; cout\t\t* 3.操作树节点 *endl; cout\t\t* 4.统计二叉树 *endl; cout\t\t* 0.退出 *endl; cout\t\t****************endl; cout请输入您的选择:;cinc; while(!cin) { cin.clear(); cin.ignore(80,\n); cout输入错误,请重新输入:; cinc; } switch(c) { case 1: if(b-IsEmpty()) { int c1; cout\n\t___建立二叉树____endl; cout\t| |endl; cout\t| 1.创建二叉树 |endl; cout\t| 0.退出 |endl; cout\t|_________________|endl; cout请输入您的选择:;cinc1; while(!cin) { cin.clear(); cin.ignore(80,\n); cout输入错误,请重新输入:; cinc1; } switch(c1) { case 0: break; case 1: cin*b; break; default: cout错误的选择,请重新输入!endl; break; } } else { cout二叉树已建立!endl; break; } break; case 2: if(b-IsEmpty()) { cout二叉树尚未建立,请先建立二叉树!!!endl; break; } else { int c2; do { cout\n\t___遍历二叉树____endl; cout\t| |endl;
显示全部
相似文档