数据结构第5章_树和二叉树.pptVIP

  1. 1、本文档共102页,可阅读全部内容。
  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文档。上传文档
查看更多
数据结构第5章_树和二叉树

第5章 树和二叉树 5.1 树 5.2 二叉树 5.3 二叉树的遍历 5.4 线索二叉树 5.5 树、森林与二叉树的转换 5.6 哈夫曼树 5.1 树 5.1.1 树的定义及基本术语 1. 树的定义 树 (Tree) T :n(n≥0)个结点的有限集, 当n=0时,称为空树; 当n0时,满足以下条件:  1)有且仅有一个结点被称为根(Root)结点;   2)当n1时,除根结点以外的其余n-1个结点可以划分成 m(m0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,称为根的子树(SubTree)。 2. 基本术语 结点(Node)——表示树中的元素,包括数据项及若干指向其子树的分支 2. 基本术语 结点的度(Degree)——结点拥有的子树的数目 树的度——树中最大的结点度数 A的度为2,B的度为3 树的度为3; 2. 基本术语 叶子结点(Leaf)/终端结点——度为0的结点 分支结点/非终端结点——度不为0的结点 2. 基本术语 叶子结点(Leaf)/终端结点——度为0的结点 分支结点/非终端结点——度不为0的结点 孩子结点(Child)——结点的子树的根 双亲结点(Parents)——孩子结点的上层结点 兄弟结点(Sibling)——具有同一双亲结点的孩子结点 B,C为A的孩子结点; A为B,C的双亲结点; B,C互为兄弟结点; H的祖先结点为A,B,E; B的子孙结点为D,E,F,H,I。 结点的层次(Level)——从根结点算起,根为第一层,它的孩子为第二层……若某结点在第i层,则其孩子结点就在第i+l层。 树的高(深)度(Depth)——树中结点的最大层次数。 森林(Forest)——m(m≥0)棵互不相交的树的集合。 有序树与无序树——树中结点的各子树从左至右是有次序的(不能互换),否则称该树为无序树。 对于一棵反映父子关系的家族树,兄弟结点之间是按照排行大小有序的,所以它是一棵有序树 右树T中,由A结点的子树 所构成的森林为(T1,T2), 由B结点的子树所构成 的森林为(T11,T12,T13) 5.1.2 树的表示   树的逻辑结构表示法:   ①树形表示法:树的最基本的表示,使用一棵倒置的树表示树结构,非常直观和形象。    5.1.2 树的表示   树的逻辑结构表示法:   ②文氏图表示法:使用集合以及集合的包含关系描述树结构。  5.1.2 树的表示   树的逻辑结构表示法:   ③凹入表示法:使用线段的伸缩关系描述树结构。   5.1.2 树的表示   树的逻辑结构表示法:   ④括号表示法:将树的根结点写在括号的左边,除根结点之外的其余结点写在括号中并用逗号间隔。 5.1.3 树的存储结构 1.双亲数组表示 用一维数组存储树中的各个结点,包含data和parent两个字段,分别表示结点的数据值和其双亲在数组中的下标。树中结点可按任意顺序存放。 规定下标为0的位置存储的结点是根结点。 位置 0 1 2 3 4 5 6 7 8 9 … Data Parent 5.1.3 树的存储结构 1.双亲数组表示 在双亲数组中,找某个结点的双亲或祖先是很方的,但要找某个结点的孩子或兄弟结点则比较麻烦,需要遍历整个数组。 规定下标为0的位置存储的结点是根结点。 位置 0 1 2 3 4 5 6 7 8 9 … Data Parent 2. 孩子链表存储结构 孩子链表:把每个结点的孩子结点排列起来,构成一个单链表。 n个结点的树有n个这样的孩子链表; 叶子结点的孩子链表为空表; n个链表的表头指针放在一个顺序表中。这个顺序表中的每个元素有两个字段:一个存放结点的数值;另一个存放第一个孩子的地址。 孩子链表中的每个结点也有两个字段:一个指示孩子结点的数值存放在顺序表中什么位置;另一个存放下一个孩子的地址。 在顺序表中,各元素可以按任意顺序存放。在每个孩子链表中,各结点也可以按任意顺序链接。 规定下标为0的位置存储的结点是根结点。 在孩子链表中,查 找某个结点的孩子 结点很容易,但找 结点的双亲结点则 较困难。 3.孩子兄弟链表存储结构 孩子兄弟链表存储结构是一种二叉链表,链表中每个结点包含两个指针,分别指向对应结点的第一个孩子和下一个兄弟。 T1指针指向树的根结点。 5.2 二叉树 5.2.

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档