八、树和二叉树-创新互联

一、树的定义

树的定义
树是一种非线性的数据结构
树是由 n (n≥0) 个结点组成的有限集合
如果 n = 0,称为空树 ;
如果 n > 0,则 :
有一个特定的称之为根 (root) 的结点,它只有直接后继,但没有直接前驱
除根以外的其它结点划分为 m (m≥0) 个互不相交的有限集合T0, T1, …,Tm-1, 每个集合又是一棵树, 并且称之为根的子树(subTree)
八、树和二叉树
树家族中的概念
树的结点包含一个数据及若干指向子树的分支
结点拥有的子树数称为结点的度
度为0的结点称为叶结点
度不为0的结点称为分支结点
树的度定义为所有结点中的度的大值
八、树和二叉树
结点的直接后继称为该结点的孩子
相应的,该结点称为孩子的双亲
结点的孩子的孩子的…… 称为该结点的子孙
相应的,该结点称为子孙的祖先
同一个双亲的孩子之间互称兄弟
八、树和二叉树
结点的层次
根为第1层
根的孩子为第2层
 ……
树中结点的大层次称为树的深度或高度
八、树和二叉树
如果树中结点的各子树从左向右是有次序的,子树间不能互换位置 ,则称该树为有序树 ,否则为无序树。
八、树和二叉树
森林是由 n ( n≥0) 棵互不相交的树组成的集合
八、树和二叉树
树的一些常用操作

彭水苗族土家族ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
创建树
销毁树
清空树
插入结点
删除结点
获取结点
获取根结点
获取树的结点数
获取树的高度
获取树的度

八、树和二叉树

二、树的存储结构

树的存储结构
无法直接用数组表示树的逻辑结构
但可以设计结构体数组对结点间的关系进行表述
八、树和二叉树

利用链表组织树中的各个结点
链表中的前后关系不代表结点间的逻辑关系
结点的逻辑关系由 child 数据域描述
child 数据域保存其他结点的存储地址

八、树和二叉树

八、树和二叉树
八、树和二叉树

三、二叉树的定义

另一种树结构模型
孩子兄弟表示法模型
每个结点都有一个指向其第一个孩子的指针
每个结点都有一个指向其第一个右兄弟的指针
八、树和二叉树
每个结点包含一个数据指针和两个结点指针
数据指针 : 指向保存于树中的数据
孩子结点指针 : 指向第一个孩子
兄弟结点指针 : 指向第一个右兄弟
八、树和二叉树
孩子兄弟表示法的特点
能够表示任意的树形结构
每个结点中有且仅有三个指针域
数据指针,孩子结点指针,兄弟结点指针
每个结点的结构简单
只有孩子结点指针和兄弟结点指针构成了“树杈"
二叉树的定义
二叉树是由n ( n ≥0) 个结点组成的有限集合, 该集合或者为空, 或者是由一个根结点加上两棵分别称为左子树和 右子树的 、 互不相交的二叉树组成。
八、树和二叉树
特殊的二叉树

满二叉树(Full Binary Tree)
如果 二叉树中所有分支结点的度数都为2, 且叶子结点都在同一层次上 , 则称这类二叉树为满二叉树 。

完全二叉树 (Complete Binary Tree)
如果一棵具有n个结点的高度为k的二叉树, 它的每一个结点都与高度为k 的满二叉树中编号为1—n 的结点一一对应, 则称这棵二叉树为完全二叉树。(从上到下从左到右编号)
完全二叉树的叶结点仅出现在最下面两层
最下层的叶结点一定出现在左边
倒数第二层的叶结点一定出现在右边
完全二叉树中度为1的结点只有左孩子
同样结点数的二叉树 , 完全二叉树的高度最小
八、树和二叉树
通用树实现源码

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:八、树和二叉树-创新互联
转载来于:http://hbruida.cn/article/ddodss.html