数据结构教程 第二十一课 树、二叉树定义及术语.doc

数据结构教程 第二十一课 树、二叉树定义及术语.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构教程 第二十一课 树、二叉树定义及术语.doc

???数据结构教程?第二十一课?树、二叉树定义及术语 数据结构教程?第二十一课?树、二叉树定义及术语 ? 教学目的: 掌握树、二叉树的基本概念和术语,二叉树的性质 教学重点: 二叉树的定义、二叉树的性质 教学难点: 二叉树的性质 授课内容: 一、树的定义: 树是n(n=0)个结点的有限集。在任意一棵非空树中: (1)有且仅有一个特定的称为根的结点; (2)当n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,...Tm,其中每一个集合本身又是一棵树,并且称为根的子树. 二、树的基本概念: 树的结点包含一个数据元素及若干指向其子树的分支。 结点拥有的子树数称为结点的度。 度为0的结点称为叶子或终端结点。 度不为0的结点称为非终端结点或分支结点。 树的度是树内各结点的度的最大值。 结点的子树的根称为该结点的孩子,相应地,该结点称为孩子的双亲。 同一个双亲的孩子之间互称兄弟。 结点的祖先是从根到该结点所经分支上的所有结点。 以某结点为根的子树中的任一结点都称为该结点的子孙。 结点的层次从根开始定义起,根为第一层,根的孩子为第二层。其双亲在同一层的结点互为堂兄弟。树中结点的最大层次称为树的深度,或高度。 如果将树中结点的各子树看成从左至右是有次序的,则称该树为有序树,否则称为无序树。 森林是m(m=0)棵互不相交的树的集合。 ? 三、二叉树的定义 二叉树是另一种树型结构,它的特点是每个结点至多只有二棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。 一棵深度为k且有2(k)-1个结点的二叉树称为满二叉树,如图(a),按图示给每个结点编号,如果有深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。 二叉树的定义如下: ADT BinaryTree{ 数据对象D:D是具有相同特性的数据元素的集合。 数据关系R: 基本操作P: InitBiTree(T); DestroyBiTree(T); CreateBiTree(T,definition); ClearBiTree(T); BiTreeEmpty(T); BiTreeDepth(T); Root(T); Value(T,e); Assign(T,e,value); Parent(T,e); LeftChild(T,e); RightChild(T,e); LeftSibling(T,e); RightSibling(T,e); InsertChild(T,p,LR,c); DeleteChild(T,p,LR); PreOrderTraverse(T,visit()); InOrderTraverse(T,visit()); PostOrderTraverse(T,visit()); LevelOrderTraverse(T,Visit()); }ADT BinaryTree 三、二叉树的性质 性质1: 在二叉树的第i层上至多有2的i-1次方个结点(i=1)。 ? 性质2: 深度为k的二叉树至多有2的k次方减1个结点(k=1)。 ? 性质3: 对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。 ? 性质4: 具有n个结点的完全二叉树的深度为|log2n|+1 ? 性质5: 如果对一棵有n个结点的完全二叉树的结点按层序编号,则对任一结点i(1=i=n)有: (1)如果i=1,则结点i是二叉树的根,无双亲;如果i1,则双亲PARENT(i)是结点i/2 (2)如果2in,则结点i无左孩子(结点i为叶子结点);否则其左孩子LCHILD(i)是结点2i (3)如果2i+1n,则结点i无右孩子;否则其右孩子RCHILD(i)是结点2i+1 ? ?

文档评论(0)

gtez + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档