数据结构系列三:二叉树(一)
一、树的结构
每一个节点都是以它为根的大小整体树的根,在每一个整体树中,以亲人代的关系组织节点存储数据长成此整体树,代与代上代与下代之间的直系亲人会连线,表示一个节点双亲生节点双亲
二、树的概念
1.度
1.1节点的度:
该节点下一代的直系孩子的个数
1.2树的度:
整棵树中度数最大的那个节点的度
2.层次
2.1节点的层次:
该节点所处的代数
2.2树的高度:
整棵树共有的代数
3.二叉树
3.1二叉树:
节点全以<=2的度向下长的树,其中每次左节点长的树为左子树,右节点长的树为右子树
3.2完全二叉树:
二叉树按从上到下、从左往右的顺序生成节点形成的树
3.3满二叉树:
完全二叉树最下层都生满的树
三、树的性质
(默认根节点1层、0下标)
1.树
1.1总节点个数:
总节点个数 = 叶节点个数 + 度节点个数(度1+度2...)
1.2边:
个度n节点有n条边,总N个节点共有N-1条边
(1.1与1.2常常结合起来列方程来求得结果的如2.1)
2.二叉树
2.1叶节点个数:
叶节点个数 = 度2节点个数 + 1
2.2第i层满节点个数:
第i层满的节点个数为
2.3到k层满节点个数:
n叉树到k层全满的节点个数为()/(n-1),二叉树到k层全满的节点个数为
3.完全二叉树
3.1树高度:
n个总节点的树高度为向上取整
3.2节点下标:
下标i节点的左子节点为(2*i) + 1,右子节点为(2*i) + 2,父节点为(i - 1) / 2
3.3度1节点个数:
偶数总节点的树中度1节点个数为1,奇数总节点的树中无度1节点
四、树的引用管理对象体系
引用管理对象体系中,最上层引用直接管理最下层直接引用对象,直接引用管理的直接对象是内部类创的似复刻变量对象,似复刻变量里装一颗树的根节点和指向内容其它树的同类直接引用,直接对象里存直接引用的直接对象就能管理到所有直接对象的管理模式(直接对象递归直接引用的和链表类变量一样),用来管理到一棵树的引用管理对象体系有很多,管理体系的不同就在似复刻变量里设置装的其它树的引用可有很多种方案都可以去管理到整棵树
五、二叉树的遍历
前后序遍历为根,中序遍历在根的左右分