ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:39.84KB ,
资源ID:5841229      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5841229.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实习报告二叉树.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构实习报告二叉树.docx

1、数据结构实习报告二叉树数据结构课程设计实习报告 题 目:二叉链表的基本操作学 号:1210522姓 名:何厚华年 级:大二学 院:计算机与控制工程学院专 业:计算机科学与技术完成日期:2014年4月24日授课教师:辛运帏目录1.题目.22.要求 . . . . . . . . . . . . . . . . . . . . . . . . 23.程序实现 . . . . . . . . . . . . . . . . . . . . . 2 3.1程序运行及编译环境 . . . . . . . . . . . . . . . . 2 3.2程序描述 . . . . . . . . . . .

2、. . . . . . 2 3.3实现功能 . . . . . . . . . . . . . . . . . . 2 3.3.1子功能模块1 . . . . . . . . . . . . . . . . . 3 3.3.1.1数据结构的定义 . . . . . . . . . . . . . . . 3 3.3.1.1.1全局数据结构 . . . . . . . . . . . . . . . 3 3.3.1.1.2局部数据结构 . . . . . . . . . . . . . . . 4 3.3.1.4算法及程序说明. . . . . . . . . . . . . . 4 3.3.1

3、.5接口设计. . . . . . . . . . . . . . . . . . 6 3.3.2子功能模块2 . . . . . . . . . . . . . . . . . 7 3.3.3子功能模块3 . . . . . . . . . . . . . . . . . . . 8 3.3.4子功能模块4 . . . . . . . . . . . . . . . . . . . 9 3.3.5子功能模块5 . . . . . . . . . . . . . . . . . . . 103.4运行结果 . . . . . . . . . . . . . . . . . . . 123.5尚

4、未解决的问题 . . . . . . . . . . . . . . . . . . 121.题目 二叉链表的基本操作2.要求设二叉树以二叉链表的形式保存,T为指向根结点的指针。试完成以下功能:1、建立二叉树:从键盘输入各结点的值,可参照二叉树的顺序存储方式。例如输入“a,b,c, ,d”表示结点a是根,b和c是a的两个孩子,b仅有右孩子d。2、统计T中叶结点的个数。3、统计T中度为2的结点的个数。4、求树T的高度。 5、判断T中是否有度为1的结点(即按照国外教材的定义,是否为满树)。3.程序实现 3.1程序运行及编译环境程序是用Visual Studio 2008即VS9.0 编译的。可以在

5、windows系列的操作系统上运行。 3.2程序描述该程序主要用于构造参考二叉链表的顺序存储结构。其流程如下:A).构造树控制台输入字符,依此构造二叉树的每一个节点B).输出这棵树的信息C).完成3.3实现功能Main BinTree bt; bt.CreateTree();/建树 bt.GetInfo(bt.getRoot();/获取信息,包括度为0,1,2节点数等 system(pause); return 0;3.3.1子功能模块1 /*函数原型:void Convert2Bin(int num,bool a,int& idx);函数功能:把一个十进制数转化为二进制数参数含义:num:要

6、转化的十进制数;bool a:为节省空间,采用bool型来存储二进制的每一位用idx表示*/void Convert2Bin(int num,bool a,int& idx)/把一个整数num转化为二进制的形式,存放在数组a里面,idx存放输出到数组的哪一项 int i=0; bool temp; while(num1) /除2取余,得到逆序的二进制序列 ai+=num%2; num/=2; ai=num; idx=i; for (int j=0;j1) /除2取余,得到逆序的二进制序列 ai+=num%2; num/=2; ai=num; idx=i; for (int j=0;j(idx+

7、1)/2;j+)/把逆序的变为正序的 temp=aj; aj=aidx-j; aidx-j=temp; /*函数原型:void InsertOrder(int num,bool a,int& idx);函数功能:由一个十进制数决定插入二叉树的顺序参数含义:num:要转化的十进制数;bool a:为节省空间,采用bool型来存储二进制的每一位用idx表示 如传入的num是9,则a=0,0,1则表示往左,左,右的顺序*/void InsertOrder(int num,bool a,int& idx) Convert2Bin(num,a,idx); for (int i=0;idat=Data;

8、return; bool orderMAXSIZE;/orderMAXSIZE用来存放插入的顺序,则order=0,0,1则表示往左,左,右的顺序,count表示前多少位有效 int count=0; InsertOrder(idx,order,count);/由序号得到插入的顺序 root-height=count+2;/树高就是位数加1 BinNode* binNode=new BinNode;/生成一个结点 BinNode* temp=root; binNode-dat=Data; binNode-left=NULL; binNode-right=NULL; for (int i=0;i

9、right; break; case false: temp=temp-left; break; default: coutError happened in inserting node.right=binNode:temp-left=binNode;/最后一步 3.3.3子功能模块3void Traversal(BinNode* Root)/递归遍历 if(Root) Traversal(Root-left); coutdat; Traversal(Root-right); 3.3.4子功能模块4/*函数原型:void CreateTree();函数功能:从控制台输入数据,然后构造一棵树附

10、加说明:输入的字符串要以#结束,逗号分隔,如a,b,c,d#*/ void CreateTree() cout请构造一颗二叉树:以#结束,例如a,b,c,d#left); GetInfo(Root-right); if (Root-left=NULL&Root-right=NULL)/度为0的节点 Node0+; if (Root-left!=NULL&Root-right=NULL)|(Root-left=NULL&Root-right!=NULL)/度为1的节点 Node1+; if (Root-left!=NULL&Root-right!=NULL)/度为2的节点 Node2+; if(Root=root)/后序遍历,到达根节点时,完成遍历 cout因为这是一个参考顺序存储的数据结构,所以最后一个结点的深度就是树的高度,所以树高为heightendl; cout度为2的结点数Node2endl; cout度为1的结点数Node1endl; cout度为0的结点数Node0endl; if(Node0=0) cout由于度为0的结点个数为0,所以这是一颗满树!endl; ;3.4运行结果 图1 程序运行结果截图 生成的树是a,b,c,d,e,f,g,h,i,j,e,r3.5尚未解决的问题暂时没有发现。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1