- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
⼆⼆叉叉树树的的遍遍历历及及相相关关题题⽬⽬
⼆⼆叉叉树树的的遍遍历历及及相相关关题题⽬⽬
1.1⼆⼆叉叉树树遍遍历历的的概概念念
⼆叉树结构体的定义:
typedefstructnode
{
ElemTypedata;
structnode*lchild;
structnode*rchild;
}
⼆叉树的遍历是指按照⼀定的次序访问⼆叉树中的所的节点,并且每个节点仅访问⼀次的过程。
若规定先遍历左⼦树,后遍历右⼦树,则对于⾮空⼆叉树,可得到如下3种递归的遍历⽅法:
(1)先序遍历
访问根节点,先序遍历左⼦树,先序遍历右⼦树。(根,左,右)
(2)中序遍历
中序遍历左⼦树,访问根节点,中序遍历右⼦树。(左,根,右)
(3)后序遍历
后序遍历左⼦树,后序遍历右⼦树,访问根节点。(左,右,根)
除此之外也层次遍历。先访问根节点,在从左到右访问第⼆层的所节点,从左到右访问第三层的所节点
1.2⼆⼆叉叉树树遍遍历历递递归归算算法法
先序遍历递归算法:
voidPreOrderBTNode*b)
{
ifn!=NULL)
{
coutb-data;
PreOrderb-lchild);
PreOrderb-rchild);
}
}
中序遍历递归算法
voidInOrderBTNode*b)
{
ifn!=NULL)
{
InOrderb-lchild);
coutb-data;
InOrderb-rchild);
}
}
后序遍历递归算法:
voidPostOrderBTNode*b)
{
ifb!=NULL)
{
PostOrderb-lchild);
PostOrderb-rchild);
coutb-data;
}
}
题⽬1:输出⼀个给定⼆叉树的所的叶⼦节点:
voidDispLeafBTNode*b)
{
ifb!=NULL)
{
ifb-lchild==NULLb-rchild==NULL)
coutb-data;
DispLeafb-lchild);
DispLeafb-rchild);
}
}
以上算法采⽤先序遍历输出了所的叶⼦节点,所以叶⼦节点是从左到右输出的。从右到左输出所的叶⼦节点就需要才⽤后序遍历的思
想。
voidDispLeaf1BTNode*b)
{
ifb!=NULL)
{
ifb-lchild==NULLb-rchild==NULL)
coutb-data;
DispLeaf1b-rchild);
DispLeaf1b-lchild);
}
}
题⽬2:求⼆叉树中节点值为x的节点的层数(假设⼆叉树中的节点的值都不同)。
题解:采⽤递归算法,设计函数Levelb,x,h),其返回值为在⼆叉树b中节点值x的节点所在的层次,返回0时表⽰未找到。h表⽰b所指节点的
层次,从根节点开始查找,根节点的层次为1,所以h的初值为1。
intLevelBTNode*b,ElemTypex,inth)//h的初始值为1
{
ifb==NULL)
{
return0;
}
elseifb-data==x)
{
returnh;
}else
{
intlevel=Levelb-lchild,x,h+1);
iflevel!=0)
returnlevel;
else
returnLevelb-rchild,x,h+1);
}
}
题⽬3:判断两颗⼆叉树是否相似。所谓⼆叉树b1和b2相似是指b1和b2都是空的⼆叉树;或者b1和b2的根节点相似,且左⼦树和右⼦树分
别相似。不必⽐较数值,结构⼀样就是相似。
//相似返回true,不相似返回false
boolLikeBTNode*b1,BTNode*b2)
{
ifb1==NULLb
您可能关注的文档
- 外科护理学同步练习试卷16(题后含答案及解析).doc
- 酸碱中和滴定PPT下载5.ppt
- 设备租赁合同.docx
- 患者跌倒、坠床应急预案及流程.doc
- 电厂仿真运行实训报告(精选5篇).docx
- 三年级四则运算练习题100道.pdf
- 二年级风娃娃教学反思(通用5篇).docx
- 急救药品的分类及作用.docx
- 节支降耗合理化建议.doc
- 大学生声乐学习心理调查问卷3月15.doc
- 区委书记、市国资委党委领导班子2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面检查材料【两篇文】.docx
- 局党组书记、市国资委党委领导班子2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面个人检查材料2篇文.docx
- 市交通运输局局长2025年专题生活会对照“四个带头”含落实意识形态工作责任制方面个人对照检查发言提纲与检察院领导班子“四个带头”检查材料【2篇文】.docx
- 市投资促进局党支部书记2025年组织生活会对照“四个带头”个人对照检查发言材料与党组书记“四个带头”个人对照检查材料(内蒙古地区四个对照,反面典型案例检视剖析)【2篇文】.docx
- 市教育局党委副书记、市国资委党委领导班子2025年“四个带头”个人对照检查发言材料(上年度整改+个人事项+典型事例剖析)2篇文.docx
- 2025年专题生活会“四个带头”方面对照检视材料(问题+原因+措施+意识形态)与纪检委员专题生活会“四个带头”方面个人对照检查材料【2篇文】.docx
- 检察院领导班子2025年专题生活会对照“四个带头”检查材料与县司法局专题生活会党组书记个人对照“四个带头”对照检查材料(含反面典型案例全面剖析)2篇文.docx
- 市机关事务局党支部书记、局党组书记2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面个人发言材料、检查材料【2篇文】.docx
- 2025年领导干部专题生活会“四个带头”对照检查材料与市审计局领导班子专题生活会“四个带头”含反面典型案例剖析对照检查材料2篇文.docx
- 2025年县司法局专题民主生活会班子围绕“4个带头”对照检查材料与反面典型案例回顾与剖析对照检查发言材料2篇文.docx
最近下载
- (正式版)B 4793.1-2007 测量、控制和实验室用电气设备的安全要求 第1部分:通用要求.docx VIP
- 电力系统全环节碳计量方法与碳表系统.pdf
- 搅拌器选型及功率计算.xls
- 派出所所长2024年度民主生活会个人带头严守政治纪律和政治规矩方面,带头增强党性、严守纪律、砥砺作风等方面四个带头对照查摆剖析材料2篇.doc VIP
- 四级劳动关系协调员试题+答案.docx VIP
- “三龄二历一身份”核定表.doc VIP
- 地下工程导论 课件 第六章 地下工程防灾减灾.pptx
- 第二学期(一)属七和弦学习课程.pptx VIP
- NB∕T 41005-2014_电能质量控制设备通用技术要求.pdf
- 2024年高级经济师《金融》试题及答案(最完整版) .pdf VIP
文档评论(0)