- 1、本文档共116页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构C语言版 第7章 树形结构8
St中元素 算法执行的操作 ch AC k=2 , AC 建立E结点,因k=1,将其作为C结点的左孩子结点 E AC C结点进栈,k=1 ( A 建立C结点,因k=2,将其作为A结点的右孩子结点 C A k=2 , A 退栈一次 ) AB 退栈一次 ) ABD 建立E结点,因k=2,将其作为D结点的右孩子结点 G ABD k=2 , ABD D结点进栈,k=1 ( St中元素 算法执行的操作 ch ? 算法结束 ch扫描完毕 空 退栈一次 ) A 退栈一次 ) AC 建立F结点,因k=2,将其作为C结点的右孩子结点 F 生成的二叉树=> (2)查找结点FindNode(*b,x) 采用先序遍历递归算法查找值为x的结点。找到后返回其指针,否则返回NULL。算法如下: BTNode *FindNode(BTNode *b,ElemType x) { BTNode *p; if (b==NULL) return NULL; else if (b-data==x) return b; else { p=FindNode(b-lchild,x); if (p!=NULL) return p; else return FindNode(b-rchild,x); } } (3)找孩子结点LchildNode(p)和RchildNode(p) 直接返回*p结点的左孩子结点或右孩子结点的指针。算法如下: BTNode *LchildNode(BTNode *p) { return p-lchild; } BTNode *RchildNode(BTNode *p) { return p-rchild; } (4)求高度BTNodeDepth(*b) 求二叉树的高度的递归模型f()如下: f(NULL)=0 f(b)=MAX{f(b-lchild),f(b-rchild)}+1 其他情况 对应的算法如下: int BTNodeDepth(BTNode *b) { int lchilddep,rchilddep; if (b==NULL) return(0); /*空树的高度为0*/ else { lchilddep=BTNodeDepth(b-lchild); /*求左子树的高度为lchilddep*/ rchilddep=BTNodeDepth(b-rchild); /*求右子树的高度为rchilddep*/ return(lchilddeprchilddep)? (lchilddep+1):(rchilddep+1); } } (5)输出二叉树DispBTNode(*b) 其过程是:对于非空二叉树b,先输出其元素值,当存在左孩子结点或右孩子结点时,输出一个“(”符号,然后递归处理左子树,输出一个“,”符号,递归处理右子树,最后输出一个“)”符号。对应的递归算法如下: void DispBTNode(BTNode *b) { if (b!=NULL) { printf(%c,b-data); if (b-lchild!=NULL || b-rchild!=NULL) { printf((); DispBTNode(b-lchild); /*递归处理左子树*/ if (b-rchild!=NULL) printf(,); DispBTNode(b-rchild); /*递归处理右子树*/ printf()); } } } 例7.3 假设二叉树采用二叉链存储结构,设计一个算法判断两棵二叉树是否相似,所谓二叉树t1和t2是相似的指的是t1和t2都是空的二叉树;或者t1和t2的根结点是相似的,以及t1的左子树和t2的左子树是相似的且t1的右子树与t2的右子树是相似的。 解:判断两棵二叉树是否相似的递归模型f()如下: f(t1,t2)=true 若t1=t2=NULL f(t1,t2)=false 若t1、t2之一为NULL,另一不为NULL f(t1,t2)=f(t1-lchild,t2-lchild)
您可能关注的文档
- 效能监察工作总结(多篇).doc
- 救护队工作总结及工作计划(多篇).doc
- 教代会闭幕讲话稿(多篇).doc
- 教你做9款简单又好吃的精致小点心2.doc
- 教你学看建筑图纸的巧妙方法2.docx
- 教务处主任工作总结(多篇).doc
- 教务处办公教学子系统 学科竞赛 功能需求说明书ver.doc
- 教务员求职信范文.doc
- 教学 第二节如何指导开展生物科技活动.ppt
- 教学口语训练(六)2.ppt
- 消费者服务行业市场前景及投资研究报告:云南旅游产业链竞争力,数字化驱动,体验升级,产业重构.pdf
- 易点天下-市场前景及投资研究报告-AI+广告标的,业绩加速.pdf
- 东方电子-市场前景及投资研究报告-电力自动化先锋,虚拟电厂空间广阔.pdf
- 宁德时代-市场前景及投资研究报告:换电产业化加速.pdf
- 四方股份-市场前景及投资研究报告-二次设备,源网荷储.pdf
- 轻工制造行业市场前景及投资研究报告:新型烟草大势所趋,龙头发力HNB.pdf
- 房地产行业市场前景及投资研究报告:现房销售.pdf
- 达势股份-市场前景及投资研究报告-因市而谋.pdf
- 绿联科技-市场前景及投资研究报告:充电品牌,渠道势能提升,NAS存储赛道,星辰大海.pdf
- 亿咖通科技-市场前景及投资研究报告:吉利生态,全球智能化先锋.pdf
文档评论(0)