- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
重 庆 交 通 大 学 综 合
性 设 计 性 实 验 报 告
班 级: 计信2012级二班
学 号: 631206060232
姓 名: 娄丽梅
实验项目名称: 二叉树
实验项目性质: 设计性
实验所属课程: 数据结构
实验室(中心): B01407
指 导 教 师 : 鲁 云 平
实验完成时间: 2014 年 6 月 10 日
实验目的
主要完成以下功能:
1. 建立二叉树
2. 计算结点所在的层次
3 .统计结点数量和叶结点数量
4. 计算二叉树的高度
5. 计算结点的度
6. 找结点的双亲和子女
7. 二叉树的遍历
8. 二叉树的输出等等
实验内容及要求
1.二叉树的结点结构,二叉树的存储结构由学生自由选择和设定
2.实验完成后上交打印的实验报告,报告内容与前面所给定的实验模板相同
3.将实验报告电子版和源代码在网络教学平台提交
实验设备及软件
Visual studio 2010
四、设计方案
㈠ 题目:
二叉树
㈡ 设计的主要思路:
通过递归原理实现大部分遍历二叉树功能
㈢ 主要功能:
建立二叉树
计算结点所在的层次
.统计结点数量和叶结点数量
计算二叉树的高度
计算结点的度
找结点的双亲和子女
二叉树的遍历
二叉树的输出等
主要代码
栈头文件:stack.h
class Stack
{
public:
Stack(int sz=100);
~Stack(){delete[]elements;}
void Push(const T x);
bool Pop(T x);
bool getTop(T x);
bool IsEmpty()const{return(top==-1)?true:false;}
bool IsFull()const{return(top==maxSize-1)?true:false;}
private:
T *elements;
int top;
int maxSize;
void overflowProcess();
};
templateclass T
StackT::Stack(int sz):top(-1),maxSize(sz)
{
elements=new T[maxSize];
assert(elements!=NULL);
};
templateclass T
void StackT::overflowProcess()
{
T*newArray=new T[maxSize+stackIncreament];
if(newArray=NULL){cerr存储分配失败!endl;exit(1);}
for(int i=0;i=top;i++)
newArray[i]=elements[i];
maxSize=maxSize+stackIncreament;
delete []elements;
elements=newArray;
};
templateclass T
void StackT::Push(const T x)
{
if(IsFull()==true)overflowProcess();
elements[++top]=x;
};
templateclass T
bool StackT::Pop(T x)
{
if(IsEmpty()==true)return false;
x=elements[top--];
return true;
};
templateclass T
bool StackT::getTop(T x)
{
if(IsEmpty()==true)return false;
x=elements[top];
return true;
};
二叉树头文件
tree.h
#includeiostream
#includestack.h
#includestdlib.h
#includefstream
using namespace std;
templateclass T
struct BinTreeNode
{
T data;
BinTreeNodeT *leftChild,*rightChild;
BinTreeNode():leftChild(NULL),rightChild(NUL
您可能关注的文档
最近下载
- 2024年10月27日云南昭通市事业单位选调笔试真题及答案解析.doc VIP
- 讲义总结岩土工程勘察讲义.ppt VIP
- 非常规油气勘探开发地质风险评估.pdf
- 中职 图形图像处理(Photoshop CS5)PS(第7章)教学课件 高教版.ppt VIP
- 市政道路监理规划-范本.pdf VIP
- 2025海南省通信网络技术保障中心招聘事业编制人员12人(第1号)笔试模拟试题及答案解析.docx VIP
- 《飞机上应急医疗》课件——心肺复苏的流程.pptx VIP
- 中职 图形图像处理(Photoshop CS5)PS(第6章)教学课件 高教版.ppt VIP
- 抖音直播社区公约.pdf VIP
- 地质灾害治理工程施工技术规范 DB50_T 989-2020 重庆.pdf VIP
文档评论(0)