收藏 分享(赏)

数据结构课程设计二叉树遍历查找.doc

上传人:hwpkd79526 文档编号:4358049 上传时间:2018-12-24 格式:DOC 页数:10 大小:43KB
下载 相关 举报
数据结构课程设计二叉树遍历查找.doc_第1页
第1页 / 共10页
数据结构课程设计二叉树遍历查找.doc_第2页
第2页 / 共10页
数据结构课程设计二叉树遍历查找.doc_第3页
第3页 / 共10页
数据结构课程设计二叉树遍历查找.doc_第4页
第4页 / 共10页
数据结构课程设计二叉树遍历查找.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、0课程设计任务书2011 2012 学年第 一 学期电子与信息工程 系 计算机 专业 09 计算机一班 班级课程设计名称: 数据结构课程设计 设计题目: 排序二叉树的遍历 完成期限:自 2012 年 1 月 2 日至 2012 年 1 月 6 日共 1 周设计依据、要求及主要内容(可另加附页):一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源

2、程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;(4)认真编写课程设计报告。三、设计内容排序二叉树的遍历( 用递归或非递归的方法都可以) 1)问题描述输入树的各个结点,建立排序二叉树,对建立的排序二叉树进行层次、先序、中序和后序遍历并统计该二叉树中叶子结点的数目。 2)基本要求(1)用菜单实现1(2)能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列和叶子结点的数目。四、参考文献1王红梅数据结构清华大学出版社2王红梅数据结构学习辅导与实验指导清华大学出版社3严蔚敏,吴伟民数据结构(C 语言版) 清华大学出版社#inc

3、ludeusing namespace std;int num;/-排序二叉树节点-/struct tree /定义二叉树节点结构int data; /节点数据域tree *right,*left; /右,左子树指针;/-排序二叉树类-/class Btree 2tree *root;/根节点public:Btree()root=NULL;/根节点在构造函数里初始化void create_btree(int);/创建排序二叉树void display1()preorder(root);/前序coutdata =t; /存入数据 tnewnode-left =NULL; newnode-righ

4、t =NULL;if(root=NULL) /当是根节点为空时即二叉树中没有任何数据时root=newnode; /根节点为新节点else /当有二叉树中拥有数据后tree *back; 4tree *current;current=root; while(current!=NULL) back=current; /记住 current 的父节点if(current-datat)current=current-left;else current=current-right ;if(back-datat)back-left =newnode;else back-right =newnode;vo

5、id Btree:preorder (tree* tmp)/前序if(tmp!=NULL)coutdataleft);preorder(tmp-right);void Btree:inorder (tree* tmp)/中序if(tmp!=NULL)inorder(tmp-left);coutdataright );void Btree:postorder (tree* tmp)/后序if(tmp!=NULL)postorder(tmp-left);postorder(tmp-right);coutdatadataleft != NULL) Qrear+ = q-left;if (q-righ

6、t != NULL) Qrear+ = q-right;void Btree:leafnum (tree* tmp)/求叶子结点个数if(tmp=NULL) return;elseif(!(tmp-left) leafnum(tmp-left); /左子树中的叶子结点个数leafnum(tmp-right); /右子树中的叶子结点个数void Btree:empty( )num=0;7int Btree:printnum()return num;/ Btree:getroot()/return root;int main(int argc, char* argv)Btree A;coutn;i

7、nt *arr;arr=new intn;for(int j=0;jarrj;coutx;switch(x) case 1:cout“前序遍历为:“endl;A.display1();coutendl;break;case 2:cout“中序遍历为:“endl;A.display2();coutendl;break;case 3:cout“后序遍历为:“endl;A.display3();coutendl;break;case 4:cout“层序遍历为:“endl;A.display4();coutendl;break;case 5:A.empty();A.display5();cout“叶子结点个数为:“A.printnum()+1endl;break;case 0:exit(0);9return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 教学研究

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报