树结构本身是一种天然的组织结构,这里的二叉树具有天然的递归结构,归根于二叉树具有以下特点:
1,二叉树的每个节点最多有2个子节点;
2,二叉树的每个节点最多有1个父节点;
3,每个节点的左子树也是二叉树;
4,每个节点的右子树也是二叉树;
5,二叉树的每个节点的值大于其左子树的所有节点的值;
6,二叉树的每个节点的值小于其右子树的所有节点的值;
7,二叉树所有的节点存储的元素必须有可比性;
二叉搜索树的搜索从根节点开始,如果查询的关键字与根节点关键字相等则命中,否则,如果查询关键字比结点关键字小,就进入左子树;如果比结点关键字大,就进入右子树;如果左子树或右子树的指针为空,则报告找不到相应的关键字。如果二叉搜索树的左右子节点的数目都保持差不多(平衡),则二叉搜索树的搜索性能逼近二分查找;但它比连续内存空间的二分查找的优点是:增加或者删除节点不需要移动大量内存数据,甚至通常是常数开销。
下面附上二叉搜索树基本的增加和查询的代码:
因篇幅有限,二叉搜索树的删除下一篇文章再具体分析。