- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
树;目录;树的定义;树的定义;树的定义;树的定义;树的定义;树的定义;树的定义;树的定义;树的定义;树的定义;A;有序树:如果树中结点的各棵子树看成是从左到右有次序的,则称该树为有序树;森林:是树的集合。0个或多个不相交的树组成森林。;ADT Tree{
数据:
树是结点的有限集合,它或者为空集,或者由一个根结点和若干棵互不相交的子树组成。
运算:
InitTree(T):构造一棵空树T。
DestroyTree(T):销毁树T。
Create(T):建立以T为根的树。
ClearTree(T):若树T存在,则将树T清空。
Empty(T):若树T为空树,返回TRUE,否则返回FALSE。
Depth(T):返回T的高度。
Root(T):返回T的根结点。
Value(T,e):e是树T中的一个结点,返回此结点的值。
Assign(T,e,value):e是树T中的一个结点,将e的值赋值为value。
Parent(T,e):返回树T中e结点的双亲;若e是根结点,则返回空。
LeftChild(T,e):返回树T中e结点的最左边的孩子;若e是叶子,返回空。
RightSibling(T,e):若树T中e结点有兄弟结点,则返回其右兄弟,否则返回空。
InsertChild(T,t,lr,i):将结点i插入到t所指结点的左或右子树。lr值为0时插入到t的左子树,i成为左子树的根结点;lr值为1时插入到t的右子树,i成为右子树的根结点。
DeleteSubTree(T,t,lr):删除二叉树T中t所指结点的左或右子树。其中,t指向二叉树T中的某个结点,lr值为0时删除t的左子树,lr值为1时删除t的右子树。
Transverse(T):按照某种次序对树T的所有结点进行访问一次操作。
};树的存储表示;1. 双亲表示法
每个结点有两个域:Data和Parent。Parent域为指向该结点的双亲结点的下标。根结点无双亲,Parent域设为-1。
可以对树中结点按自上而下、自左向右(按层次)的次序顺序存储起来。;2. 孩子表示法;3. 孩子兄弟表示法;目录;二叉树的定义与性质;二叉树的定义;二叉树(binary tree)结点的有限集合
可以为空集
可以由一个根和两棵互不相交的子树组成
左子树+右子树,均是二叉树;树与二叉树的区别:
一般树的子树之间是无序的,而二叉树中结点的子树要区分左、右子树,即使只有一棵子???
树中每个节点可有0棵或若干子树。而二叉树的每个节点最多只能有2棵子树。;性质1:二叉树的第i(i?1)层上至多有2i-1 个结点(归纳法证明)
当i=1时,二叉树至多只有一个结点,结论成立。
设当i=k时结论成立,即二叉树上至多有2k-1 个结点
当i=k+1时
∵每个结点最多只有两个孩子,
∴第k+1层上至多有2*2k–1 =2k个结点,性质成立;性质1、2的图形解释;性质2 高度为h的二叉树上至多有2h–1个结点。
当h=0时,二叉树为空二叉树。
当h0时,利用性质1,高度为h的二叉树中结点的总数最多为:;性质1、2的图形解释;性质3 任意一棵二叉树中,若叶结点的个数(度为0)为n0,度为2的结点的个数为n2,则必有n0=n2+1
设二叉树的度为1的结点数为n1,树中结点总数为n,则n=n0+n1+n2 ①(∵二叉树中只有度为0、1、2三种类型的结点)
设分支数为B(树枝),n个结点的二叉树,除了根结点外,每个结点都有一个分支进入,则B=n-1;分支是由度为1或者度为2的射出的,又有B=2n2+n1;
则有:n-1=2n2+n1 ?n=2n2+n1+1……②
由① ②可得到:
n0+n1+n2=2n2+n1+1 ? n0+n2=2n2 +1 即n2=n0-1。;性质4 包含n个元素的二叉树的高度至少为 ?log2 (n+1)? ,最大为n。
根据性质2,高度为h的二叉树最多有2h –1个结点,因而n?2h –1, 则有h ? log2(n+1)。
由于h是整数,所以h? ?log2 (n+1)?。;特殊的二叉树;定义 高度为h的二叉树恰好有2h –1个结点时称为满二叉树;0;定义 扩充二叉树也称2-树,其中除叶子结点外,其余结点都必须有两个孩子。;完全二叉树的性质;?;二叉树的抽象数据类型;ADT 5.2 BinaryTree {
数据:
二叉树是结点的有限集合,它或者为空,或者由一个根结点和左、右子二叉树组成。
运算:
InitBinaryTree(T):构造一棵空二
您可能关注的文档
最近下载
- GB∕T22081-2024《网络安全技术——信息安全控制》之48:“7物理控制-7.3办公室、房间和设施的安全保护”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- 家校共育合作策划方案大全(10篇).docx VIP
- 员工岗位晋升和薪资晋级管理办法(套头).docx VIP
- 钉钉数字化管理师试题库(二).pdf VIP
- GB∕T22081-2024《网络安全技术——信息安全控制》之50:“7物理控制-7.5物理和环境威胁防范”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- GB∕T22081-2024《网络安全技术——信息安全控制》之51:“7物理控制-7.6在安全区域工作”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- 产品分析讲课课件.pptx VIP
- GB∕T22081-2024《网络安全技术——信息安全控制》之52:“7物理控制-7.7清理桌面和屏幕”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- 房产测量规范-第2单元-房产图图式.doc VIP
- 道路运输车辆达标车型配置、参数表(载货汽车).pdf VIP
原创力文档


文档评论(0)