一、二叉排序树(二叉搜索树、二叉查找树)
1.二叉排序树的定义
二叉排序树或是空树,或是满足如下性质的二叉树:
(1).若其左子树非空,则左子树上所有结点的值均小于根结点的值
(2).若其右子树非空,则右子树上所有结点的值均大于等于根结点的值
(3).其左右子树本身又各是一棵二叉排序树
2.二叉排序树的性质
中序遍历非空的二叉排序树所得到的数据元素序列是一个按关键字排列的递增有序序列
3.二叉排序树的递归查找
1) 算法思想
* 若二叉排序树为空,则查找失败,返回空指针
* 若二叉排序树非空,将给定值key与根结点的关键字T->data.key进行比较:
// 若key=T->data.key,则查找成功,返回根结点地址
// 若key<T->data.key,则进一步查找左子树
// 若key>T->data.key,则进一步查找右子树
2) 二叉排序树的存储