- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ACM--树
树和二叉树 一、树的定义和基本术语 树:树是n(n大于等于0)个结点的有限集合。当n=0时,称为空树;当n0时,该集合满足如下条件: (1)其中必有一个称为根的特定结点,它没有直接前驱,但有零个或多个直接后续。 (2)其余n-1个结点可以划分成m(m大于等于0)个互不相交的有限集T1,T2,T3,…,Tm,其中Ti又是一棵树,称为根的子树。每棵子树的根结点有且仅有一个直接前驱,但有零个或多个直接后继。 结点:包含一个数据元素及若干指向其它结点的分支信息。 结点的度:一个结点的子树个数称为此结点的度。 叶结点:度为0的结点,即无后续的结点,也称为终端结点。 分支结点:度不为0的结点,也称为非终端结点。 孩子结点:一个结点的直接后继称为该结点的孩子结点。 双亲结点:一个结点的直接前驱称为该结点的双亲结点。 兄弟结点:同一双亲结点的孩子结点之间互称兄弟结点。 祖先结点:一个结点的祖先结点是指从根结点到该结点的路径 上的所有结点。 子孙结点:一个结点的直接后继和间接后继称为该结点的子孙 结点。 树的度:树中所有结点的度的最大值。 结点的层次:从根结点开始定义,根结点的层次为1,根的直接后续的层次为2,以此类推。 树的深度(高度):树中所有结点的层次最大值。 二叉树:它是另一种树形结构,满足以下两个条件: (1)每个结点的度都不大于2; (2)每个结点的孩子结点次序不能任意颠倒。 由此定义可以看出,一个二叉树中的每个结点只能含有0、1或2个孩子,而且每个孩子有左右之分。我们把位于左边的孩子叫做左子树,位于右边的孩子叫做右子树。下图给出了二叉树的五种基本形态。 二、二叉树的编号 例题: 小球下落 有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为1,2, 3,…,2的D次幂减1。在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,初始化全部关闭,当每次有小球落到一个开关上时,状态都会改变。当小球到达一个内结点时,如果该结点上的开关关闭,则往左走,否则往右走,直到走到叶子结点。 一些小球从结点1处依次开始下落,最后一个小球将会落到哪里呢?输入叶子深度D和小球个数I,输出第I个小球最后所在的叶子编号。假设I不超过整棵树的叶子个数。D小于等于20.输出最多包含1000组数据。 样例输入: 4 2 3 4 1 2 128 12345 样例输出: 12 7 512 3 255 36358 分析:对于一个结点k,其左子结点、右子结点的编号分别是2k和2k+1。 #includestdio.h #includestring.h const int maxd=20; int s[1maxd]; void main() { int D,I; while(scanf(%d%d,D,I)==2) { memset(s,0,sizeof(s)); int k,n=(1D)-1; for(int i=0;iI;i++) { k=1; for(;;) { s[k]=!s[k]; k=s[k]?k*2:k*2+1; if(kn) break; } } printf(%d\n,k/2); } } 三、二叉树的递归遍历 对于二叉树T,可以递归定义它的三种遍历方式: 先序遍历、中序遍历和后续遍历。 1、先序遍历 (1)访问根结点; (2)先序遍历左子树; (3)先序遍历右子树。 2、中序遍历 (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树。 3、后序遍历 (1)后序遍历左子树; (2)后序遍历右子树访问根结点; (3)访问根结点。 例题:天平 输入一个树状天平,根据力矩相等原则判断是否平衡。所谓力矩相等,就是WL*DL=WR*DR,其中WL和WR分别为左右两边砝码的重量,D为距离。 采用递归(先序)方式输入:每个天平的格式为WL,DL,WR,DR,当WL或WR为0时,表示该“砝码”实际是一个子天平,接下来会描述这个子天平。当WL=WR=0时,会先描述左子天平,然后是右子天平. 样例输入: 1 0 2 0 4 0 3 0 1 1 1 1 4 4 2 6 3 2 其正确输出为YES。 例题:下落的树叶 给一棵二叉树,每个结点都有一个水平位置;左子结点在它左边1个单位,右子结点在右边1个单位。从左向右输出每个水
您可能关注的文档
- About the analysis of the first examination.ppt
- AC-13C沥青面层试验段施工方案.doc
- AC-13C沥青面层试验路段总结.doc
- Access+选择题复习材料.doc
- AC-AC变流电路.ppt
- 9脉管系统.ppt
- access2007教程__第03章__数据库的创建与维护.ppt
- access2010 第一讲数据库和表的概念.pptx
- Access2010 第八章.ppt
- Access2010应用基础配套教案.docx
- 光纤数字通信调试工考试《中级光纤数字通信调试工必看题库知识点》模拟卷.doc
- 光纤数字通信调试工考试《中级光纤数字通信调试工题库考点》模拟练习卷.doc
- 超深防渗墙施工工艺、质量通病及控制要点)五星.pptx
- 苏科版八年级上册数学精品教学课件 第4章 实数 4.3 实数 第2课时 实数的运算.ppt
- 苏科版八年级上册数学精品教学课件 第3章 勾股定理 3.1 勾股定理 第1课时 认识勾股定理.ppt
- 苏科版八年级上册数学精品教学课件 第6章 一次函数 6.3 一次函数的图像 第2课时 一次函数的性质.ppt
- 苏科版八年级上册数学精品教学课件 第4章 实数 章末回顾与整合提升.ppt
- 苏科版八年级上册数学精品教学课件 第1章 1.3.1 用“边角边”判定三角形全等.ppt
- 苏科版八年级上册数学精品教学课件 第6章 全章热门考点整合应用.ppt
- 苏科版八年级上册数学精品教学课件 第2章 轴对称图形 2.5 等腰三角形的轴对称性 第2课时 等腰(等边)三角形的判定与性质.ppt
最近下载
- 中华民族共同体概论课件第八讲共奉中国与中华民族聚力发展.pptx VIP
- 一种碱性磷酸酶标记抗体或抗原的方法.pdf VIP
- 2024-2025部编人教版小学语文1一年级上册(全册)优秀课件.ppt
- 手术室PDCA——提高急诊手术器械物品准备的完善率.pptx VIP
- 宠物行业宠物智能喂食器研发方案.doc VIP
- 老年人徒手肌力评定健康促进课件.pptx VIP
- TPM管理培训课件.pptx VIP
- 中华民族共同体概论大讲堂课件第七讲华夷一体与中华民族空前繁盛(隋唐五代时期).pdf VIP
- 灰库系统钢结构加固施工方案.docx VIP
- 2025至2030中国中医馆行业市场发展分析及前景趋势与投资机会报告.docx
文档评论(0)