- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
树与二叉树基本操作
数据结构 树及基本操作 树的基本概念 空树:不含结点的树。 非空树:至少含一个节点的树。只有一个根结 点,其余结点分为m棵互不相交的子树,每棵子 树又都是一棵树。(递归定义) A B C D E F G H I A A B A C B A C B A C B A C B A C B A G C B A F G C B A E F G C B A D E F G C B A D E F G C B A D E F G C B A H D E F G C B A I H D E F G C B A 树的二元组定义 K={A,B,C,D,E,F,G,H,I} R={A,B,A,C,B,D,B,E,B,F,C,G,F,H,F,I} I H D E F G C B A 例2、表达式树 a*b+(c-d/e)*f / c a b - f * * + e d 树的表示方法: 1、树形图 2、二元组 3、目录结构 4、集合图 5、凹入表 6、广义表 树的基本术语 结点的度:结点的儿子数(注意不包括孙子) 树的度:树中所有结点的度的最大值 分支结点(非终端结点):度大于0的结点 叶子结点(终端结点):度为0的结点 孩子结点:某结点的后继叫该结点的孩子。 双亲结点(父结点):某结点的前驱叫该结点的父亲。 显然,根结点没有双亲,叶结点没有孩子。 结点的层数:根为第一层,其儿子为第二层,孙子为第三层,以此类推。 树的深度(高度):结点的最大层数。 森林:互不相交的树的集合。对于每个分支结点,其子树的集合就是森林。 I H D E F G C B A 二叉树的定义 树的度不超过2的有序树,非常重要的数据结构。 I H D F G C B A 二叉树的性质 性质1:二叉树第i层上至多有2^(i-1)个结点(i≥1) 性质2:深度为h的二叉树至多有2^h-1个结点。 满二叉树:各层结点均达到2^(i-1) 完全二叉树:除最后一层外,其余各层均满,且最后一层的结点集中在左边。 给完全二叉树的结点从上到下,从左到右依次标号,则完全二叉树的标号 性质有: 性质1:若i=(n div 2),则i为分支结点,否则为叶子结点。 性质2:在N个结点的完全二叉树中,若n为奇数,则,所有分支都有左右儿子,若n为偶数,则n/2的结点只有左儿子,没有右儿子。其他结点有左右儿子。 性质3:标号为i的结点,其左儿子为2i,右儿子为2i+1 性质4:若标号为i的结点有双亲,则i1且其双亲结点为(i div 2) 二叉树的性质 完全二叉树的深度性质: N个结点的完全二叉树,其深度为trunc(log2n)+1 理想平衡树:二叉树中,除最后一层外,其余 层都是满的,则称此树为理想平衡树。 满二叉树是特殊的完全二叉树,完全二叉树是 特殊的理想平衡树。 F D E G C B A D E C B A E G C B A 满二叉树 完全二叉树 理想平衡树 完全二叉树 理想平衡树 理想平衡树 二叉树的存储结构 1、线性存储 顺序存储二叉树,首先将二叉树按照完全二叉树中对应 的位置进行标号,然后,以每个结点的标号为下标,将对 应的值存储到一个一维数组中。 i 1 2 3 4 5 6 7 8 9 10 11 T A B C D F G H I I H D F G C B A 可见:完全二叉树用顺序存储极好,但一般二叉树容易造成空间浪费。 二叉树的存储结构 2、动态链接存储,三个域的节点: left data right 1 2 3 4 5 6 7 8 D I B D G A F C H L 0 3 0 0 2 8 0 0 R 0 6 0 0 7 1 4 0 或者再添加一个指向父亲的指针。 Type pnode=^tnode; tnode=record data:elementtype; left,right:pnode; end; 3、静态链接存储 Type tnode=record data=elementtype; left,right:integer; end; Var a:array[1..maxl]of tnode; I H D F G C B A 存放的顺序是任意的 1.建立一棵二叉树 Procedure pre_crt(Var bt:tree); {按先序次序输入二叉树中结点的值, begin 生成二叉树的单链表存储结构} read(ch); if ch=
您可能关注的文档
- 柔性自动化生产.ppt
- 柔性输配电技术.ppt
- 柱体、锥体、台体的表面积与体积习题.ppt
- 查干苏力德.ppt
- 柳南咽喉区道岔安全性分析.doc
- 柔性领导力(ppt).ppt
- 柴油发电机组油路中空气的故障分析.pptx
- 柴油发电机组维护保养.ppt
- 柳州市东堤路以西沿江景观设计.ppt
- 柴油机供给系统故障诊断与维修.ppt
- 贵州贵州省建设投资集团有限公司招聘考试真题附答案详解(研优卷).docx
- 河南南阳师范学院2021年招聘25名硕士研究生冲刺卷一(附答案与详解)及答案详解(名校卷).docx
- 陕西延长石油 (集团) 有限责任公司 所属单位招聘笔试题库及答案详解(必刷).docx
- 贵州民航产业集团有限公司招聘笔试题库含答案详解(基础题).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库含答案详解(考试直接用).docx
- 邢台市水务发展集团有限公司招聘真题附答案详解(实用).docx
- 新华保险总部人力资源部(党委组织部)招聘笔试题库含答案详解(预热题).docx
- 贵州苔茶产业发展集团有限公司招聘笔试题库含答案详解(b卷).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库附答案详解(综合题).docx
- 贵州城乡产业发展集团有限公司招聘笔试题库附答案详解(实用).docx
文档评论(0)