树结构
1.树的定义 树是有n(n>=0 )个结点的有限集。
2.树只有一个根节点(Root),从根节点以外扩散的的集合可以成为根的子树(SubTree)。
3.b,c是a的左 右子节点。a又成为b,c的父节点。
4.度:子节点的个数。
5.树的层次:这个树有四层。 最大层是树的深度。
树的存储结构
1.双亲表示法 data parent
2.孩子表示 data child1 child2
3. 孩子兄弟表示法 data firstchild rightslib
二叉树
1、二叉树是一种特殊的树,每个结点最多有两个子结点。
2.根节点的左右子树。
2.满二叉树 :除了最后一层 其他的层都有两个结点,满了状态。
3.完全二叉树 最后一层可以有空,但是 有顺序的空。
4.非完全二叉树,10位置是空的,完全二叉树必须 最后一层可以是8, 8,9 8,9,10 不能断开的空
二叉树的存储
1.顺序存储
存储的结果实 a,b,c,d,e,f,g,h,i,j 从上到到下从左到右的方式向看漫画一样。
2.遍历的方式
1, 前序遍历 口诀:先根再左右子结点。 a 找 b,b有左右子结点,b,再找d,d是根,再找h,i,j依次找。
2,中序遍历 左根右。 a有子树,找b,找d,HDIBJEAFCG
3.后序遍历 左右根。 HID JEBFGCA
4.层序遍历 就是abc。。一层从左到右。
2.代码实现
顺序存储只适合完全二叉树
public class BiTree<T>
{
private T[] arr;//存放数据
private int capacity;//储存的容量
priva