软件的技术基本教学课件.pptVIP

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件的技术基本教学课件

非线性结构 非线性结构:至少存在一个数据元素有两个或两个以上的直接前驱(或直接后继)元素的数据结构。 非线性结构主要有 树(TREE)结构 图(GRAPH)结构 树型结构 树形结构例:用于描述层次结构的关系,如:人类的族谱、各种社会关系、各类分类编码;操作系统的文件系统、编译程序的语法树;Internet中的DNS(域名系统) 分等级的分类方案均可用层次结构来表示,即可由此导出树形结构。 树的定义 树(Tree)是n(n≥0)个结点的有限集合T,对于任意一棵非空树,它满足: 当n=0时,称为空树; 当n0时,有且仅有一个特定的称为根(root)的结点。 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,….,Tm,其中每个集合本身又是一棵树,称为根的子树。 树的定义是一个递归定义。 树的定义 由11个结点集合T组成的树,T={A,B,C,D,E,F,G,H,I,J,K},其中结点A是根结点,除结点A外,其余结点分成3个互不相交的集合T1={B,E,F,G},T2={C},T3={D,H,I,J,K},形成了以结点A为树根的3棵子树T1、T2、T3。而这三棵子树本身又是一棵树。 树的基本术语 树的基本术语 结点(node) 结点的度(degree) 分支(branch)结点 叶(leaf)结点 子 (child)结点 父(parent)结点 基本术语 树中每个结点的分支数称为结点的度。 树的度是树中结点的最大度数。 度为零的结点为叶结点(Leaf) ,称度不为的零结点为分支结点。 树中结点的子树的根结点称为该结点的子结点。相反,称该结点为子结点的父结点。 基本术语 一个结点的直接后继结点是兄弟结点,他们拥有相同的父结点。 祖先结点是从根结点达到某结点所经过分支上的所有结点称为该结点的祖先。子孙结点以某结点为根的子树中的任一结点都称为该结点的子孙。 基本术语 树中结点的层次(Level) 从根结点开始,根为一层结点,其子结点为二层结点,依次类推。叶子结点为最下层结点。这种分层的好处是树中结点的最大层数称为该树的高度(深度)。 森林(Forest)是m ( m ≥ 0)棵互不相交的树的集合(可以看成是把一棵树的根结点去掉,所得到的子树构成森林)。 如果树中每个结点的子结点规定从左到右是有次序的(不许随意改动),那么,称该树为有序树。否则称为无序树。 树的性质一 树中结点总数等于树中所有结点的度之和加1。 所谓结点的度是指结点拥有的子树个数。 根据树的定义知:在一棵树中,除根结点之外,每个结点有且仅有一个父结点,即每个结点与指向它的一个分支结点一一对应。因而,除树的根结点外的结点数等于树中所有结点的分支数(度数)。 由此可知:树中的结点总数应为所有结点的度之和加1。 树的性质二 度为k的树的第i层最多有ki-1个结点(i≥1)。 (用数学归纳法):所谓树的度是指树内各结点的度的最大值。 当i=1时,在树中的第一层只有一个结点(根结点),结论正确。 设:对于第i-1层(i >1)命题也成立,即度为k的树的第i-1层最多有k(i-1)-1= ki-2个结点。 由树的度的定义知:度为k的树中每个结点最多有k个子结点,因此:第i层上结点总数最多为第i-1层上结点数的k倍,即第i层上最多有k* ki-2 = ki-1个结点,与命题相符。 故:度为k的树的第i层最多有ki-1个结点(i>1)。 树的性质三 深度为h的k叉树最多有 个结点 树的性质四 具有n个结点的k叉树的最小深度为不小于 的最小整数。 具有n个结点的k叉树的深度为h,若该树的前h-1层都是满的,即每一层的结点数都为ki-1个(1≤i≤h-1),第h层(最后一层)的结点数可能满,也可能不满,则该树具有最小的深度。 由性质三知: 树的性质四 取以k为底的对数后得: h-1<logk(n(k-1)+1) ≤h 树的表示 树型表示 树的表示 嵌套集合表示 树的基本操作 初始化 求指定结点所在树的根结点 求指定结点的父结点 求指定结点的某一孩子结点 求指定结点的最右边兄弟结点 将一棵树插入到另一树的指定结点下作为它的子树 删除指定结点的某一子树 树的遍历 树的存储结构 通常采用链式存储结构 几种常见的树的存储结构 子结点表示法 标准存储结构形式 指针数=结点的度/树的度 由于树的度不定,实现起来较困难或造成空间浪费。 几种常见的树的存储结构 父结点表示法 除根结点没有父结点外,其余结点都有唯一的一个父结点 包含一个结点信息域和一个指向该结点父结点的指针域 求某一结点的子结点比较困难 几种常见的树的存储结构 子结点兄弟结点表示法 该结点的信

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档