- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
树形结构研究及其在信息化管理中的应用
树形结构研究及其在信息化管理中的应用
摘要:树形结构因其善于表现层次结构、便于理解操作而成为实现很多实际应用模型的良好载体。本文对树形结构的抽象数据类型和存储结构做了简单概括,并主要以二叉树为例,讨论了树形结构的具体设计和实现程序。在第三部份例举研究了一些树在BPM(业务流程管理)、CRM(客户关系管理)等信息化管理系统中的应用。
关键词:树形结构 二叉树 信息化管理
树形结构
1.1树的定义
树是由n(n=0)个结点构成的集合。n=0的树称为空树;对n0的树T,有:
有一个特殊的结点称为根结点,根结点没有前驱结点;
当n1时,除根结点外的其他结点被分成m(m0)个互不相交的集合T1,T2,…Tm,其中每一个集合Ti(1≦i≦m)本身又是一棵结构和树结构类同的子树。
1.2树的抽象数据类型
数据集合: 树的结点集合,每个结点由数据元素和构造数 据元素之间关系的指针组成。
操作集合:
(1)创建树 MakeTree(T)
(2)撤消树 DestroyTree(T)
(3)查找树中当前结点的双亲结点 Parent(T,curr)
(4)查找树中当前结点的左孩子结点 LeftChild(T,curr)
(5)查找树中当前结点的右兄弟结点 RightSibling(T,curr)
(6)遍历树 Traverse(T,Visit( ))
1.3树的存储结构
树的结点之间的逻辑关系主要有双亲-孩子关系,兄弟关系。因此,从结点之间的逻辑关系分,树的存储结构主要有:双亲表示法、孩子表示法、双亲孩子表示法和孩子兄弟表示法(使用最多的树的存储结构)四种组合。
由于树的操作实现比较复杂,树又可以转换为二叉树(由一个根结点和两个互不相交、分别称为左二叉子树和右二叉子树的子二叉树构成),而二叉树的操作实现相对简单,因此实际使用中经常把树问题转换为二叉树问题处理。下面主要对二叉树做一下深入研究。
二叉树
2.1基本特征及性质:
二叉树的基本特征
(1) 每个结点最多只有两棵子树(不存在度大于2的结点);
(1)左子树和右子树次序不能颠倒。所以下面是两棵不同的树
二叉树的性质
性质1:在一棵非空二叉树的第i层上至多有2i个结点(i≥0)。
性质2:深度为k的二叉树至多有2k+1-1个结点(k≥-1)。
性质3: 具有n个结点的完全二叉树的深度k为不超过[log2(n+1)]-1的最大整数。
性质4:对于一棵有n个结点的完全二叉树,按照从上至下和从左至右的顺序对所有结点从0开始顺序编号,则对于序号为i的结点(0≤i≤n),有:
(1)如果i0,则其双亲是结点(i-1)/2(“/”表示整除) ;如果i=0,则结点I是根结点,无双亲。
(2)如果2i+1<n ,其左孩子是结点2i+1;如果2i+1≥n,则结点i无左孩子。
(3)如果2i+2<n,其右孩子是结点2i+2;如果2i+2≥n,则结点i无右孩子。
2.2二叉树的存储结构
二叉树的存储结构主要有三种:顺序存储结构、链式存储结
构和仿真指针存储结构。
(1) 二叉树的顺序存储结构
完全二叉树的结点可按从上至下和从左至右的次序存储在一维数组中,其结点之间的关系可由公式计算得到,这就是二叉树的顺序存储结构。对于一般的非完全二叉树显然不能直接使用二叉树的顺序存储结构。可以首先在非完全二叉树中增添一些并不存在的空结点使之变成完全二叉树的形态,然后再用顺序存储结构存储。
(2)二叉树的链式存储结构
二叉树的链式存储结构是用指针建立二叉树中结点之间的关系。二叉树最常用的的链式存储结构是二叉链。二叉链存储结构的每个结点包含三个域,分别是数据域data、左孩子指针域leftChild和右孩子指针域rightChild。二叉链存储结构的二叉树也有不带头结点和带头结点两种。
(3)二叉树的仿真指针
二叉树的仿真指针存储结构是用数组存储二叉树中的结点,数组中每个结点除数据元素域外,再增加仿真指针域用于仿真常规指针建立二叉树中结点之间的关系。
2.3二叉树抽象数据类型
数据集合:二叉树的结点集合,每个结点由数据元素和构造数据元素之间关系的指针组成。
操作集合:
(1)创建二叉树 MakeTree(T)
(2)撤消二叉树 DestroyTree(T)
(3)左插入结点 InsertLeftNode(curr,x)
(4)右插入结点 InsertRightNode(curr,x)
(5)左删除子树 DeleteLeftTree(curr)
(6)右删除子树 DeleteRightTree(curr)
(7)遍历二叉树 Traverse(T,Visit())
2.4以结点类为基础的二叉树设计
2.4.1二叉树的结点类定义和实现代码
templateclass T
class BiT
您可能关注的文档
最近下载
- 2025-2026学年粤教粤科版(2024)小学科学三年级上册(全册)教学设计(附目录 P182) .docx
- 电机拖动应用技术第2章知识点回顾总结.docx VIP
- 蓝光BL及BL培训总汇讲解.ppt VIP
- Q SY 17816-2021 泡沫驱用起泡剂技术规范.pdf VIP
- SL∕T 619-2021 水利水电工程初步设计报告编制规程.pdf
- 蓝光BL及BL培训总汇演示文稿.ppt VIP
- 第三单元:测量(单元复习课件-)人教版三年级数学上册.pptx VIP
- 巨人通力GPS53K(SIEI)-YH_电气原理图纸G3001007(B)N-2020-12.pdf
- 第1单元第5课《图片的局部处理》课件【滇人版】《信息科技》五年级上册.pptx VIP
- 《物业服务模式》课件.ppt VIP
原创力文档


文档评论(0)