树
树是一种非线性数据结构,它是由n(n>=0)个有限节点组成一个具有层次关系的集合
特点:
术语:
二叉树
二叉树是每个节点最多有两个子树的树结构。它有五种基本形态:二叉树可以是空集;根可以有空的左子树或右子树;或者左、右子树皆为空
二叉树的性质:
二叉树第i层上的结点数目最多为 2{i-1} (i≥1)
深度为k的二叉树至多有2{k}-1个结点(k≥1)
包含n个结点的二叉树的高度至少为log2(n+1)
二叉树中,设叶子结点数为n0,度为2的结点数为n2,则n0=n2+1
满二叉树
高度为h,并且由2{h} –1个结点的二叉树,被称为满二叉树,满二叉树的结点的度要么为0(叶子结点),要么为2(非叶子结点)
完全二叉树
一棵二叉树中,只有最下面两层结点的度可以小于2,并且最下一层的叶结点集中在靠左的若干位置上。这样的二叉树称为完全二叉树
特点:
叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部。显然,一棵满二叉树必定是一棵完全二叉树,而完全二叉树未必是满二叉树
二叉搜索树
二叉搜索树的左孩子比父节点小,右孩子比父节点大
中序遍历可以让结点有序