二叉树是一种很常见的数据结构,但要注意的是,二叉树并不是树的特殊情况,二叉树与树是两种不一样的数据结构。
目录一、 二叉树的定义
二、二叉树为何不是特殊的树
三、二叉树的五种基本形态
四、二叉树相关术语
五、二叉树的主要性质(6个)
六、二叉树的存储结构(2种)
七、二叉树的遍历算法(4种)
八、二叉树的基本应用:二叉排序树、平衡二叉树、赫夫曼树及赫夫曼编码
一、二叉树的定义如果你知道树的定义(有限个结点组成的具有层次关系的集合),那么就很好理解二叉树了。定义:二叉树是n(n≥0)个结点的有限集,二叉树是每个节点最多有两个子树的树结构,它由一个根结点及左子树和右子树组成。(这里的左子树和右子树也是二叉树)。
值得注意的是,二叉树和“度至多为2的有序树”几乎一样,但,二叉树不是树的特殊情形。具体分析如下
二、二叉树为何不是特殊的树 1、二叉树与无序树不同二叉树的子树有左右之分,不能颠倒。无序树的子树无左右之分。
2、二叉树与有序树也不同(关键)当有序树有两个子树时,确实可以看做一颗二叉树,但当只有一个子树时,就没有了左右之分,如图所示:
三、二叉树的五种基本状态 四、二叉树相关术语