树,做为一种相对基础的数据结构,被广泛的应用于数据存储和查找中。
一般来说,定义树是用递归的方式,树是一些节点的集合。集合可以是空的,也可以是非空。如果不是非空,那么就是由一个根节点和0个或者多个的非空节点的字树组成,子树都由一一条来自根节点的有向的边所连结。一颗树是N个节点和N-1条边的集合。没有子的节点被称为树叶。N1到Ni的路径定义为路径。根节点到Ni的唯一路径称为深度。Ni的高是指从它到一片树叶的最长的路径。
二叉查找树是特殊的二叉树,假设x为二叉树中的任意一个结点,x结点包含关键字key,节点x的key值为key[x]。如果y是x的左子树中的一个节点,则key[y]<=key[x];如果y是x的右子树的一个节点,则key[y]>=key[x]。