binary search tree,中文翻译为二叉搜索树、二叉查找树或者二叉排序树。简称为BST
一:二叉搜索树的定义
他的定义与树的定义是类似的,也是一个递归的定义:
1、要么是一棵空树
2、如果不为空,那么其左子树节点的值都小于根节点的值;右子树节点的值都大于根节点的值
3、其左右子树也是二叉搜索树
在算法导论中的定义:
下图中是BST的两个例子:
其中(b)图中的树是很不平衡的(所谓不平衡是值左右子树的高度差比较大)
BST在数据结构中占有很重要的地位,一些高级树结构都是其的变种,例如AVL树、红黑树等,因此理解BST对于后续树结构的学习有很好的作用。同时利用BST可以进行排序,称为二叉排序,也是很重要的一种思想。
二:二叉搜索树的操作定义
在BST中有下列操作:
1、在树中插入一个节点:insert(tree *root, datatype t)
2、在将树中的某个节点删除: remov