一、二叉查找树定义及性质:
定义:二叉查找树(Binary Search Tree)是一棵二叉树。它可以为空,也可以不为空,有如下性质:
1、每个结点的关键字唯一。
2、非空左子树的关键字值一定小于其子树根结点的关键字值。
3、非空右子树的关键字值一定大于其子树根结点的关键字值。
4、左右子树仍然是二叉查找树。
二、基本操作及代码实现:
1、创建空的二叉查找树:
2、判断是否为空树:
3、二叉查找树的遍历:
4、二叉查找树的查找:
5、二叉查找树的插入:
6、查找二叉查找树的最值:
7、二叉查找树的删除:
(1)用其左子树中的最大元素替换要删除的结点。
(2)用其右子树中的最小元素替换要删除的节点。