定义:
度(degree):节点拥有的子树数
树的度:各结点度的最大值
孩子、双亲、兄弟:
结点的层次(level):根为第一层,根的孩子为第二层,以此类推
根、叶:第一层、最后一层
树的深度(depth):最大层数
有序树:结点的各子树从左至右有顺序
森林:互不相交的树的集合
----------------------------------------------
二叉树:三个特点
(1)结点最多有2个子树(2)左右子树有序 (3)即使只有一个子树仍然区分左右
斜树:所有结点都只有左(右)结点
满二叉树:所有分支结点均存在左右子树,所有叶都在同一层
完全二叉树:相比于满二叉树,最后一层可以不满
二叉树的顺序存储:便利,但易浪费空间
二叉链表:一个数据域,两个指针域(分别指向左右孩子)
二叉树的遍历:
前序遍历:先访问根节点,然后前序遍历左子树,再前序遍历右子树
中序遍历:左 根 右
后序遍历:左 右 根
根据前序 中序 可求后序,根据中序 后序,可求前序(因为能固定一颗二叉树)
已知前序 后序,结果不唯一。
二叉树的应用:二叉搜索树、霍夫曼树
参考:《大话数据结构》