数据结构--------树
1.树的基本概念
树是n(n>0)个结点的有限集,这个集合满足下面条件:
⑴有且仅有一个结点没有前驱(父亲结点)。该结点称为树的根。
⑵除根外,其余的每一个结点都有且仅有一个前驱;
⑶除根外,每个结点都通过唯一的路径连到根上(否则有环)。
2.树的表示方式
双亲表示法
孩子表示法
孩子兄弟表示法
3.二叉树的基本概念
在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。
一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点,则此二叉树为完全二叉树。具有n个节点的完全二叉树的深度为floor(log2n)+1。深度为k的完全二叉树,至少有2k-1个叶子节点,至多有2k-1个节点。
4.完全二叉树及满二叉树
完全二叉树:
叶节点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。
满二叉树:
除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。
国内教程定义: