数据结构第六章树南京工程学院通信工程学院.pptVIP

数据结构第六章树南京工程学院通信工程学院.ppt

  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文档。上传文档
查看更多
数据结构第六章树南京工程学院通信工程学院

前面我们学习的线性数据结构,每个元素都有唯一的前驱(第一个除外)和后继(最后一个除外),但是在现实应用中,一些问题的数据元素之间的关系就不这样简单,例如在编译程序中,用树表示源程序的语法结构。 本章学习一种非线性数据结构——树,数据元素之间是一种层次关系,元素有且只有一个前驱,但可以有多个后继。;树的概念和基本术语 二叉树 二叉树遍历 线索二叉树 树与森林 霍夫曼树 ;6.1树的概念和基本术语;;树的基本术语 树的结点:包含一个数据元素及若干指向子树的分支; 孩子结点:结点的子树的根称为该结点的孩子 双亲结点:B结点是A结点的孩子,则A结点是B结点的双亲;; 树的高度:树中结点的最大层次. 结点的度:结点子树的个数 树的度: 树内各结点的度的最大值。 叶子结点:也叫终端结点,是度为0的结点; 分枝结点:度不为0的结点; 有序树:子树有序的树,(子树不能互换)如:家族树; 无序树:不考虑子树的顺序; ;任何一棵非空树是一个二元组 Tree = (root,F) 其中:root 被称为根结点, F 被称为子树森林;路径:树中的k 个结点n1,n2,… ,nk,满足ni 是ni + 1 的双亲,n1到nk有一条路径 路径长度:分支数=路径上结点个数一1 ;对比树型结构和线性结构的结构特点 ;树的常见表示方法 ;2 、集合表示法: 根据树的集合定义,写出集合划分。 3 、文氏图表示法: 集合表示的一种直观表示,用图表示集合。;4 、目录表示法: 将一棵树描述为一本书,书--章--节--小节 ;5 、广义表表示法: 将一棵树描述为一个广义表,子树就对应子表。;基本操作;TreeDepth(T) 初始条件:树T存在。 操作结果:返回T的深度。 Root(T) 初始条件:树T存在。 操作结果:返回T的根。 Value(T, Cur_e) 初始条件:树T存在,cur_e是T中某 个结点。 操作结果:返回cur_e的值。 Assign(T,cur_e,value) 初始条件:树T存在,cur_e是T中某个结点。 操作结果:结点cur_e赋值 为value。 Parent(T,cur_e) 初始条件:树T存在,cur_e是T中某个结点??? 操作结果:若cur_e是T的非根结点,则返回它的双亲,否则函数值为“空”。 Rightsibling(T,cur_e) 初始条件:树T存在,cur_e是T中某个结点 操作结果:若cur_e有右兄弟,则返回它的右兄弟,否则函数值为“空”。 ; LeftChild(T,cur_e) 初始条件:树T存在,cur_e是T中某个结点。 操作结果:若cur_e是T的非叶子结点,则返回它的最左孩子,否则返回“空”。 InsertChild(&T,&p,i,c); 初始条件:树T存在,p指向T中某个结点,1≤i≤p所指结点的度+1,非空树c与T不相交。 操作结果:插入c为T中p指结点的第i棵子树。 DeleteChild(&T,&p,i); 初始条件:树T存在,p指向T中某个结点,1≤i≤p指结点的度。 操作结果:删除T中p所指结点的第i棵子树。 TraverseTree(T,visit()); 初始条件:树T存在,visit是对结点操作的应用函数。 操作结果:按某种次序对T的每个结点调用函数visit() 一次且至多一次.一旦visit()失败,则操作失败;6.2 二叉树 6.2.1 二叉树的概念 6.2.2 二叉树的性质 6.2.3 二叉树的存储结构;;二叉树的五种基本形态:;应用举例 例 可以用二叉树表示表达式;性质1 在二叉树的第 i 层上至多有 2i -1个结点。(i ? 1) [证明用归纳法] 证明:当i=1时,只有根结点,2 i-1=2 0=1。 假设对所有j,ij?1,命题成立,即第j层上至多有2 j-1 个结点。 由归纳假设第i-1 层上至多有 2i -2个结点。 由于二叉树的每个结点的度至多为2,故在第i层上的最大结点数为第i-1层上的最大结点数的2倍,即2* 2i -2= 2 i-1。;性质2 深度为 k 的二叉树至多有 2 k-1个结点(k ? 1)。 证明:由性质1可见,深度为k的二叉树的最大结点数为 ;性质3 对任何一棵二叉树T, 如果其叶结点数为 n0, 度为2的结点数为 n2,则n0=n2+1. 证明:若度为1的结点有 n1 个,总结点个数为 n,总边数为

文档评论(0)

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

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

1亿VIP精品文档

相关文档