1、树是n (n≥0) 个结点的有限集, 如果n=0,称为空树;如果n>0
(1) 有且仅有一个称为根的结点root
(2) n>1时,其余结点可分为m个互不相交的有限集T1 … Tn,其中每一个集合又是一棵树,称为根的子树
2、度与节点
n(n>=0)个结点的有限集合,该集合或者为空集,或者由一个根结点和两棵互不相交的左右子树组成。
(1)、每个结点最多只有两个子树
(2)、左右子树次序不能颠倒(有序)
对于树来说,左右是同一颗树,却不是同一颗二叉树
2、二叉树具备5种形态
空树、单节点、单节点有左支、单节点有右支、单节点有左右支
3、特殊二叉树
![](https://img-blog.csdnimg.cn/d3db7736417d45ecbeaba85bd54e56b4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcHJ1dXVfX19fZA==,size_20,color_FFFFFF,t_70,g_se,x_16)
4、性质
性质1:在二叉树的第i层上至多有 2的i-1 次方个结点(i≥1).
性质2:深度为 k 的二叉树至多有 2的k次方-1 个结点 (k≥0)。
性质3:任何一棵二叉树,如果其叶结点数为n0,度为2的结点数为n2,则n0=n2+1.
性质4:具有n个结点的完全二叉树的深度为+1。
性质5:
对含n个结点的完全二叉树从上到下,从左至右进行1至n的编号,则任意一个编号为i的结点:
(1) 如果i=1,为根;如果i>1,则其双亲为 [i/2]
(2) 如果2i>n,则结点无左孩子,否则其左孩子为2i (2i 表示如果该树是满二叉树则当前编号为i的节点对应的左孩子节点为2i 比如图上的2 和4;若n=7,对于节点4而言 2i=8 >7 此时没有左孩子节点)
(3) 如果2i+1>n,则无右孩子,否则其右孩子为2i+1(同上)
三、树的遍历
(1)访问根结点
(2)按照从左到右的顺序依次前序遍历根结点的每一棵子树。
遍历结果
(1)按照从左到右的顺序依次后序遍历根结点的每一棵子树
(2)访问根结点。
从第一层开始,从上到下逐层遍历,同层按从左到右的顺序遍历。
四、二叉树的遍历
(1)访问根结点
(2)前序遍历左子树
(3)前序遍历右子树
(1)中序遍历左子树
(2)访问根结点
(3)中序遍历右子树
(1)后序遍历左子树
(2)后序遍历右子树
(3)访问根结点
从第一层开始,从上到下逐层遍历,同层按从左到右的顺序遍历