树和二叉树的基本概念区别,树和二叉树的基本概念一样吗
Yyds干货库存
目录
1.树的概念:
2.树的各种名词:
3.树的表示
A.儿童代表:
B.儿童和兄弟的代表权:
C.父母代表:
实际应用:
4.二叉树的概念和结构:
A.概念:
B.二叉树的特征:
5.特殊二叉树:
1.树的概念:a .树是一种非线性数据结构,是由n(n=0)个有限节点组成的具有层次关系的集合。
B.它被称为树是因为它看起来像一棵颠倒的树,也就是说,它的根朝上,叶子朝下。
C.每个节点有零个或多个子节点;没有父节点的节点称为根节点;每个非根节点只有一个父节点;除了根节点之外,每个子节点都可以分成多个不相交的子树。
D.有一个特殊的节点叫做根节点,它没有前任节点。除了根节点,其他节点被分成M(M ^ 0)个不相交的集合T1、T2、Tm,其中每个集合Ti(1=i=m)是与树结构相似的子树。每个子树的根节点只有一个前任,可以有0个或更多的继任者。因此,树是递归定义的。
编辑
注:当n=0时,称为空树。
编辑
2.树的各种名词:
编辑
1.节点的度:一个节点所包含的子树的个数称为该节点的度;如上图:A是6。
2.叶节点或终端节点:度为0的节点称为叶节点;如上图所示,B、C、H、I等节点.是叶节点。
3.非终端节点或分支节点:度数不为0的节点;如上所示,诸如D、E、F、G,是分支节点。
4.父节点或父节点:如果一个节点包含子节点,则该节点称为其子节点的父节点;如上图:A是b的父节点。
5.子节点或子节点:一个节点中包含的子树的根节点称为该节点的子节点;如上图:B是a的子节点。
6.兄弟节点:具有相同父节点的节点称为兄弟节点;如上图:B和C是兄弟节点。
7.树的度:一棵树中最大节点的度称为树的度;如上图:树的度是6。
8.节点的层次结构:从根的定义来看,根是第一级,其子节点是第二级,以此类推;
9.树的高度或深度:树中节点的最高级别;如上图:树的高度是4。
10.节点的祖先:从根到节点的分支上的所有节点;如上图:A是所有节点的祖先。
11.后代:子树中以某个节点为根的任何节点都称为该节点的后代。如上所示:所有节点都是。
12.森林:互不相交的m(m ^ 0)棵树的集合称为森林;(数据结构中的学习和搜索集本质上是一个森林)
PS:树的层次可以从0或者1开始,但是建议从1开始,因为:如果从1开始,空树的高度是0,但是如果从0开始,空树的高度是-1,显然没有空树的高度是1就很好理解了!
3.树形表示树形结构比线性表更复杂,存储表示更麻烦。其实树的表示有很多,比如:父表示,子表示,子兄弟表示,等等。
A.子表示形式:typedef int数据类型;
结构节点
{
struct Node * _ firstChild1//第一个子节点
struct Node * _ pNextBrother//指向它的下一个同级节点
数据类型_数据;//节点中的数据字段
};
B.儿童和兄弟的代表权:
编辑
C.父母代表:编辑的实际应用:
编辑
4.二叉树的概念和结构:A .概念:二叉树是节点的有限集合,它或者是空的,或者是由一个根节点加上两个叫做左子树和右子树的二叉树组成。
B.二叉树的特点:1。每个节点最多有两个子树,即二叉树不存在大于2的节点。
2.二叉树有左右两个子树,子树的顺序不能颠倒。
编辑
5.特殊二叉树:1。完全二叉树:一棵二叉树。如果每层的节点数达到最大,则此二叉树为全二叉树。也就是说,如果一棵二叉树的层数为k,节点总数为(2 k)-1,那么它就是一棵完整的二叉树。
编辑
2.完全二叉树:完全二叉树是一种高效的数据结构,由完全二叉树派生而来。一棵深度为k,节点数为n的二叉树称为完全二叉树,当且仅当每个节点对应于深度为k的完全二叉树中编号为1到n的节点,注意,完全二叉树是一种特殊的完全二叉树。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。