- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二叉树综合操作
#includestdio.h
#includemath.h
typedef char DataType;
typedef struct Node
{
DataType data;
struct Node *LChild;
struct Node *RChild;
}BiTNode,*BiTree;
void main()
{
int h,Is;
void CreateBiTree(BiTree *bt);//创建二叉树
int PostTreeDepth(BiTree bt);//求二叉树的深度
void PrintTree(BiTree bt,int nLayer);//打印二叉树
void PreOrder(BiTree root);//先序遍历二叉树
void InOrder(BiTree root);//中序遍历二叉树
void PostOrder(BiTree root);//后序遍历二叉树
int isBalanceTree(const BiTree t);//判断是不是平衡二叉树
BiTree p = NULL;
printf(输入结点:);
CreateBiTree(p);
h = PostTreeDepth(p);
printf(二叉树的高度为:%3d\n,h);
printf(按逆中序输出结点:\n);
PrintTree(p,h);
printf(先序遍历二叉树:);
PreOrder(p);
printf(\n);
printf(中序遍历二叉树:);
InOrder(p);
printf(\n);
printf(后序遍历二叉树:);
PostOrder(p);
printf(\n);
Is = isBalanceTree(p);
if(Is)
{
printf(是平衡二叉树!\n);
}
else
{
printf(不是平衡二叉树!\n);
}
}
//创建二叉树
//用扩展先序遍历序列创建二叉树
void CreateBiTree(BiTree *bt)
{
char ch;
ch = getchar();
if(. == ch)
{
*bt = NULL;
}
else
{
*bt = (BiTree)malloc(sizeof(BiTNode));
(*bt)-data = ch;
CreateBiTree(((*bt)-LChild));
CreateBiTree(((*bt)-RChild));
}
}
//后序遍历求二叉树的高度 递归算法
int PostTreeDepth(BiTree bt)
{
int hr,hl,max;
if(bt!=NULL)
{
hl = PostTreeDepth(bt-LChild);//求左子树的高度
hr = PostTreeDepth(bt-RChild);//求右子树的高度
max = hlhr?hl:hr;
return max+1;
}
else
{
return 0;
}
}
//按树状打印二叉树
void PrintTree(BiTree bt,int nLayer)
{
int i;
if(NULL == bt)
{
return ;
}
PrintTree(bt-RChild,nLayer+1);
for(i=0;inLayer;i++)
{
printf( );
}
printf(%c\n,bt-data);//按逆中序输出结点,用层深决定左、右位置
PrintTree(bt-LChild,nLayer+1);
}
//先序遍历二叉树
void PreOrder(BiTree root)
{
if(root!=NULL)
{
printf(%c ,root-data);
PreOrder(root-LChild);
PreOrder(root-RChild);
}
}
//中序遍历二叉树
void InOrder(BiTree root)
{
if(root!=NULL)
{
InOrder(root-LChild);
printf(%c ,root-data);
InOrder(root-RChild);
}
}
void PostOrder(BiTree root)
{
if(root!=NULL)
{
PostOrder(root-LChild);
PostOrder(root-RChild);
printf(%c ,root-data);
}
}
int isBalanceTree(const Bi
您可能关注的文档
- 东台学生问卷1.doc
- 三品、三科中期测试题.doc
- 专利侵权判定专题.ppt
- 150型钻机操作规范.doc
- 三角形中考精选.docx
- 2009级人文地理学课程实习计划.doc
- 9.6电动机修改.ppt
- 定远县国税局推进税源专业化管理的探索与实践.doc
- 厂房设施培训考试试题.doc
- 2011年高考电学实验专题复习.doc
- 2025河南鹤壁经开实业集团有限公司招聘16人笔试历年参考题库附带答案详解.pdf
- 2025年福建水投集团招聘13人笔试历年参考题库附带答案详解.pdf
- 2025浙江杭州市建德市林业总场下属林场招聘10人笔试历年参考题库附带答案详解.pdf
- 2025浙江数智交院科技股份有限公司第2期招聘48人笔试历年参考题库附带答案详解.pdf
- 2025浙江杭州淳安雷博人力资源服务有限公司招聘劳务派遣人员拟聘用人员笔试历年参考题库附带答案详解.pdf
- 2025吉林高速公路集团延吉分公司劳务派遣岗位招聘29人笔试历年参考题库附带答案详解.pdf
- 2025安徽省祁门县城投公司招聘2人笔试历年参考题库附带答案详解.pdf
- 2025江苏南通市鑫汇控股集团有限公司所属子公司招聘笔试历年参考题库附带答案详解.pdf
- 2025浙江嘉兴市海宁市通达公路养护工程有限责任公司招聘5人笔试历年参考题库附带答案详解.pdf
- 2025华北有色工程勘察院有限公司招聘专业技术人员安排(河北)笔试历年参考题库附带答案详解.pdf
最近下载
- 上市公司数据资产入表案例分析与启示.pptx VIP
- 《工贸企业有限空间作业安全规定》(应急管理部13号令)培训.pptx VIP
- 应收账款账期到期提醒台账模板.xlsx VIP
- 《中华人民共和国民用航空法》培训解读课件.pptx VIP
- 02《红楼梦》整本书阅读回目自测(21-40回)(分层练习)-2024-2025学年高一语文同步精品讲练(统编版必修下册)解析版.docx VIP
- 防护棚安全通道搭设施工方案1.docx VIP
- 街区市集规划案.pptx VIP
- 污水零直排运维台账.docx VIP
- 2025年重庆市永川区社区工作者招聘考试笔试试题(含答案).pdf
- 安全生产治本攻坚三年行动PPT课件.pptx VIP
文档评论(0)