数据结构解读.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文档。上传文档
查看更多
通常用圆括号将广义表括起来,用逗号分隔其中的 元素。为了区别原子和广义表,书写时用大写字母表示广义表,用小写字母表示原子。若广义表 LS(n=1)非空,则a1是LS的表头,其余元素组成的表(a2,…an)称为LS的表尾。 广义表是递归定义的,因为在定义广义表时又用到了广义表的概念。广义表的例子如下: (1)A=()——A是一个空表,其长度为零。 (2)B=(e)——表B只有一个原子e,B的长度为1。 (3)C=(a,(b,c,d))——表C的长度为2,两个元素分别 为原子a和子表(b,c,d)。 (4)D=(A,B,C)——表D的长度为3,三个元素都是广义 表。显然,将子表的值代入后,则有 D=(( ),(e),(a,(b,c,d)))。 (5)E=(a,E)——这是一个递归的表,它的长度为2, E相当于一个无限的广义表E=(a,(a,(a,(a,…)))). 从上述定义和例子可推出广义表的三个重要结论: (1)广义表的元素可以是子表,而子表的元素还可以 是子表。由此,广义表是一个多层次的结构,可以 用图形象地表示。 (2)广义表可为其它表所共享。例如在上述例(4) 中,广义表A,B,C为D的子表,则在D中可以不必 列出子表的值,而是通过子表的名称来引用。 (3)广义表的递归性。 第六章 树和二叉树 6.1 树的定义和基本概念 6.2 二叉树 6.2.1 树的定义和基本术语 6.2.2 二叉树的性质 6.2.3 二叉树的存储结构 6.3 遍历二叉树 6.3.1 遍历二叉树 6.3.2 线索二叉树 6.4 树和森林 6.4.1 树的存储结构 6.4.2 森林与二叉树的转换 6.4.3树和森林的遍历 6.6 赫夫曼树及其应用 6.6.1 最优二叉树(赫夫曼树) 6.6.2 赫夫曼编码 树结构是一类重要的非线性结构。树型结构是结点之间有分支,并且具有层次关系的结构,它非常类似于自然界中的树。树结构在客观世界是大量存在的,例如家谱、行政组织机构都可用树形象地表示。树在计算机领域中也有着广泛的应用,例如在编译程序中,用树来表示源程序的语法结构;在数据库系统中,可用树来组织信息;在分析算法的行为时,可用树来描述其执行过程等等。 6.1 树的定义和基本术语 定义:树(Tree)是n(n=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件: (1)有且仅有一个特定的称为根(Root)的结点; (2)其余的结点可分为m(m=0)个互不相交的子集T1,T2,T3…Tm,其中每个子集又是一棵树,并称其为子树(Subtree)。 树是递归结构,在树的定义中又用到了树的概念 例:下面的图是一棵树 T={A, B, C, D, E, F, G, H, I, J} A是根,其余结点可以划分为3个互不相交的集合: T1={B, E, F} , T2={C, D} , T3={D, H, I, J} 这些集合中的每一集合都本身又是一棵树,它们是A的子树。 例如 对于 T1,B是根,其余结点可以划分为2个互不相交的集合: T11={E},T12={F},T11,T12 是B的子树。 A J I C B D H G F E 树的 基本术语 树结点: 包含一个数据元素及若干指向子树的分支; 孩子结点:结点的子树的根称为该结点的孩子; 双亲结点:B结点是A结点的孩子,则A结点是B结点的双亲; 兄弟结点:同一双亲的孩子结点; 堂兄结点:同一层上结点; 结点层次:根结点的层定义为1;根的孩子为第二层结点,依此类推; 树的高(深)度:树中最大的结点层 结点的度:结点子树的个数 树的度: 树中最大的结点度。 叶子结点:也叫终端结点,是度为0的结点; 分枝结点:度不为0的结点(非终端结点); 森林:互不相交的树集合; 有序树:子树有序的树,如:家族树; 无序树:不考虑子树的顺序; A B C D E F G H I J K L M 结点A的度:3 结点B的度:2 结点M的度:0 叶子:K,L,F,G,M,I,J 结点A的孩子:B,C,D 结点B的孩子:E,F 结点I的双亲:D 结点L的双亲:E 结点B,C,D为兄弟 结点K,L为兄弟 树的度:3 结点A的层次:1 结点M的层次:4 树的深度:4 结点F,G为堂兄弟 结点A是结点F,G的祖先 6.2 二叉树 二叉树在树结构的应用中起着非常重要的作用,因为对二叉树的许多操作算法简单,而任何树

文档评论(0)

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

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

1亿VIP精品文档

相关文档