二叉树应用的优点在于快速查找,可以在相对较少的步骤中搜索包含大量信息的树,可以提升排序和检索的效率。二叉树既有链表的好处,也有数组的好处,可以应用于处理大批量的动态数据。
二叉树的定义
二叉树是树形结构的一个重要类型。二叉树是一个结点的集合,其中每个结点最多与两个后继结点相关联,分别称为左侧子结点和右侧子结点。二叉树中的每个结点并不是全都有两个子结点,也可能只有一个结点或两个结点都可能被省略。在二叉树中,没有子结点的结点称为叶结点。
包含子结点的结点称为其子结点的父结点。对于一个定义为二叉树的非空的结点集合,每个结点必须至多有一个父结点,并且必须有一个结点是没有父结点的。这个没有父结点的结点称为二叉树的根结点。一个空的结点集合可以构成一个空的二叉树。
链表和二叉树有一些相似之处。二叉树的根对应于链表的头部,二叉树结点的子结点对应于链表中的后继结点,二叉树结点的父结点对应于链表中结点的前驱结点。当然,空链表的模拟是空的二叉树。