- 1、本文档共153页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 树 树例与特征 社会的组织结构 家族的族谱 计算机中的目录组织 树的定义 树(Tree)是n(n=0)个结点的有限集。n=0时称为空树。 (注:KNUTH定义树不能为空) 有且仅有一个称为根的结点(Root); n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,…,Tm,其中每个集合又是一棵树,称为子树(SubTree) 树定义 树的抽象数据类型 树的抽象数据类型 树的抽象数据类型 树的其它表示方式 树的概念 结点:一个数据元素及若干指向其子树的分支; 结点的度:结点拥有的子树的数目。 树的度:树内各结点的度的最大值; 叶子(终端结点):度为0的结点; 分支结点(非终端结点):度不为0的结点;除根结点外,也称内部结点; 树的概念 孩子,双亲,兄弟,堂兄:结点的子树的根称为该结点的孩子;该结点称为孩子的双亲;同一个双亲的孩子之间互称兄弟;其父结点是兄弟的结点互称堂兄。 概念 祖先:从根结点到该结点所经分支上的所有结点。 子孙:以某结点为根的子树中的任一结点都称为该结点的子孙。 层次:结点在树结构中的层(一般定义根为1层) 概念 深度:树中结点的最大层次称为树的深度; 有序树:结点的子树在树中的位置固定,不能互换,称有序树 无序树:可以互换 森林:m(m≥0)棵互不相交的树的集合。 二叉树的概念 二叉树(Binary Tree):或者是一棵空树,或者是一棵由一个根结点和两棵互不相交的左子树和右子树所组成的非空树,左子树和右子树又同样都是二叉树 特征: 每个结点最多只有两棵子树 子树有左右之分,其次序 不能任意颠倒,只有一棵子 树时也必须分清左右子树。 二叉树的抽象数据类型 ADT BinTree{ 数据对象D:D是具有相同特性的数据元素的集合。 数据关系R:若D=?,则R=?,称二叉树为空二叉树; 若D??,则R={H},H是如下二元关系: (1)在D中存在唯一的称为根的数据元素root,它在关系H下无前驱; (2)若D-{root}??,则存在D-{root}={D1,Dr},且 D1?Dr??; (3)若D1??,则D1中存在唯一的元素x1,root, x1?H,且存在D1上的关系H1?H;若Dr??,则Dr中存在唯一的元素xr, root, xr?H, 且存在Dr上的关系Hr?H;H={root, x1,root, xr, H1, Hr}; (4)(D1,{H1})是一棵符合本定义的二叉树,称为根的左子树,(Dr,{Hr})是一棵符合本定义的二叉树,称为根的右子树。 基本操作如下: 二叉树的抽象数据类型 BiTreeInit (BT); BiTreeRoot(BT); BiTreeParent(BT,x); BiTreeLeftChild (BT,x); BiTreeRightChild (BT,x); BiTreeBuild(BT,LBT,RBT); BiTreeInsertLeft(BT,y,x); BiTreeInsertRight(BT,y,x); BiTreeDeleteLeft(BT,x); BiTreeDeleteRight(BT,x); BiTreeClear(BT); BiTraverse(BT); }ADT BinTree 二叉树的五种形态 二叉树的性质 1.一个非空二叉树的第i层上至多有2i-1个结点(i?1) 证明:i = 1, 只有根结点,显然成立 设i = k时成立,最多有2k-1 当i= k+1时,最多的 结点个数: 2k-1 * 2 = 2k-1+1 = 2k = 2( k+1)-1 二叉树的性质 2.深度为k的二叉树至多有2k-1个结点(k?1) 二叉树的性质 3.对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。 二叉树的性质 满二叉树 满二叉树:深度为k且有2k-1个结点的二叉树 完全二叉树 完全二叉树:深度为k,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树编号从1到n的结点一一对应时,称为完全二叉树。 完全二叉树 特征: 叶子结点只可能在层次最大的两层上出现。 任一结点,若其右分支下的子孙的最大层次为l,则其左分支下的最大层次为l或l+1,即若结点无左子女,决不应有右子女。 完全二叉树的特性(1) 1.具有n个结点的完全二叉树的深度 k = ?log2n? +1 (?x? 表示不大于x的最大整数) 完全二叉树的特性(2) 2.如果将一棵有n个结点的完全二叉树自顶向下,同一层自左向右连续给结点编号1、2、3、…、n,则对任一结点i(1?i?n)有 (a)如果i=1,此结
您可能关注的文档
- 第3节植物的主要类综述.ppt
- 第3节自感现象的应用综述.ppt
- 病毒公开课技术方案.ppt
- 病毒和病毒成份的提纯技术方案.doc
- 病毒基本性状、感染与免疫、诊断与防治技术方案.ppt
- 病毒检测技术复习题含答案技术方案.doc
- 病毒检验技术技术方案.ppt
- 病毒培训-江民公司技术方案.ppt
- 病毒杀虫剂技术方案.ppt
- 病毒细菌寄生虫技术方案.ppt
- 注册验船师高频真题题库2025.docx
- 注册验船师高频题库带解析2025.docx
- 注册验船师考试必备资料2025.docx
- 注册验船师精选题库带分析2025.docx
- 注册验船师考前冲刺必刷题附答案2025.docx
- 新高考生物二轮复习讲练测第10讲 人体的稳态与免疫调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第13讲 生物技术与工程(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第7讲 遗传的基本规律与伴性遗传(检测)(原卷版) .docx
- 新高考生物二轮复习讲练测第13讲 生物技术与工程(检测)(原卷版).docx
文档评论(0)