前言
昨天看算法导论看到二叉查找树,虽然以前学数据结构的时候已经学过了二叉树,但感觉自己很多东西已经忘了,为
了更好的学习二叉查找树以及后面所涉及到的二叉树方面的相关算法,故再一次复习了下二叉树。并在这写个复习笔
记,便于以后的复习。
定义
学习二叉树之前,肯定得了解数据结构中的树。数据结构中的树和我们现实中的树还是有一点区别的。首先数据结构
中的树与现实相比是倒立的。其次数据结构中的树只能有一个根,而现实中的树是有很多根的。关于树结构的一些专
业术语,如树的深度,左子树,右子树等书上已经讲的很详细了,这里不多做累赘。
二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两颗互不相交的、分别
称为根结点的左子树和右子树的二叉树组成。
特点
1、每个结点最多有两颗子树
2、左子树和右子树是有顺序的,次序不能任意颠倒
3、即使树中某结点只有一颗子树,也要区分它是左子树还是右子树
几类特殊的二叉树
1、斜树:所有的结点都只有左子树的二叉树叫左斜树。所有的结点都只有右子树的二叉树叫右斜树。这两者统称为
斜树。其结构如下图所