4图的运算【信息技术】.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
树与图 上海市控江中学 王建德 一、树的概念 1、树的定义 树是一种常见的非线性的数据结构。树的递归定义如下: 树是n(n 0)个结点的有限集,这个集合满足以下条件: ⑴有且仅有一个结点没有前件(父亲结点),该结点称为树的根; ⑵除根外,其余的每个结点都有且仅有一个前件; ⑶除根外,每一个结点都通过唯一的路径连到根上。这条路径由根开始,而未端就在该结点上,且除根以外,路径上的每一个结点都是前一个结点的后件(儿子结点); 二、树的表示方法和存储结构 1、树的表示方法 树的表示方法一般有两种: ? ⑴自然界的树形表示法:用结点和边表示树,例如上图采用的就是自然界的树形表示法。树形表示法一般用于分析问题。 ?⑵括号表示法:先将根结点放入一对圆括号中,然后把它的子树按由左而右的顺序放入括号中,而对子树也采用同样方法处理:同层子树与它的根结点用圆括号括起来,同层子树之间用逗号隔开,最后用闭括号括起来。例如图可写成如下形式 (r(a(w,x(d(h),e)),b(f),c(s,t(i(m,o,n),j),u))) ? 2、树的存储结构 静态的记录数组 所有结点存储在一个数组中,数组元素为记录类型,包括数据域和长度为n(n为树的度)的数组,分别存储该结点的每一个儿子的下标 Const n=树的度; max=结点数的上限; Type node=record data:datatype; {数据域} ch:array[1‥n] of integer;{指向各儿子的下标} end; treetype=array[1..max]of node; Var tree:treetype; 二叉树的概念 二叉树是一种很重要的非线性数据结构,它的特点是每个结点最多有两个后件,且其子树有左右之分(次序不能任意颠倒)。 1、二叉树的递归定义和基本形态 二叉树是以结点为元素的有限集,它或者为空,或者满足以下条件: ⑴有一个特定的结点称为根; ⑵余下的结点分为互不相交的子集L和R,其中R是根的左子树;L是根的右子树;L和R又是二叉树; 由上述定义可以看出,二叉树和树是两个不同的概念 ⑴树的每一个结点可以有任意多个后件,而二叉树中每个结点的后件不能超过2; ⑵树的子树可以不分次序(除有序树外);而二叉树的子树有左右之分。我们称二叉树中结点的左后件为左儿子,右后件为右儿子。 二叉树的五种基本形态 2、二叉树的两个特殊形态 ⑴满二叉树 如果一棵二叉树的任何结点,或者是树叶,或者恰有两棵非空子树,则此二叉树称作满二叉树。(例如图(a))可以验证具有n个叶结点的满二叉树共有2n-1个结点。 ⑵完全二叉树 如果一棵二叉树最多只有最下面两层结点度数可以小于2,并且最下面一层的结点都集中在该层最左边的若干位置上,则称此二叉树为完全二叉树(例如图(b)) 3、二叉树的三个主要性质 性质1:在二叉树的第i(≥1)层上,最多有2i-1个结点 证明:我们采用数学归纳法证明:当i=1时只有一个根结点,即2i-1=20=1,结论成立。假设第k(i=k)层上最多有2k-1个结点,考虑i=k+1。由归纳假设,在二叉树第k层上最多有2k-1个结点,而每一个结点最多有两个子结点,因此在第k+1层上最多有2.2k-1=2(k+1)-1=2k,结论成立。综上所述,性质1成立。 性质2:在深度为k(k≥1)的二叉树中最多有2k-1个 结点。 证明:由性质1,在二叉树第i层上最多有2i-1个结点,显然,第1层‥第k层的最多结点数为 个结点。证毕。 性质3:在任何二叉树中,叶子结点数总比度为2的结点多1。 证明: 设n0为二叉树的叶结点数;n1为二叉树中度为1的结点数;n2为二叉树中度为2的结点数,显然n=n0+n1+n2 (1) 由于二叉树中除了根结点外,其余每个结点都有且仅有一个前件。设 b为二叉树的前件个数,n=b+1(2) 所有这些前件同时又为度为1和度为2的结点的后件。因此又有b=n1+2n2 (3) 四、树或森林转换成二叉树 1、普通有序树转换成二叉树 普通树为有序树T,将其转化成二叉树T’的规则如下: ⑴T中的结点与T’中的结点一一对应,即T中每个结点的序号和值在T’中保持不变; ⑵T中某结点v的第一个儿子结点为v1,则在T’中v1为对应结点v的左儿子结点; ⑶T中结点v的儿子序列,在T’中被依次链接成一条开始于v1的右链; 由上述转化规则可以看出,一棵有序树转化成二叉树的根结点是没有右子树的,并且除保留每个结点的最

文档评论(0)

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

1亿VIP精品文档

相关文档