前言:前节二叉树只能适用于静态查找,不能实现动态插入、删除等。如何解决以下两个问题:
- 静态查找与动态查找
- 针对动态查找,数据如何组织?
4.1 二叉搜索树
4.1.1 什么是二叉搜索树
二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树。
二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质,
- 非空左子树的所有键值小于其根结点的键值。
- 非空右子树的所有键值大于其根结点的键值。
- 左、右子树都是二叉搜索树。
二叉搜索树操作的特别函数: - Position Find( ElementType X, BinTree BST ):从二叉搜索树BST中查找元素X,返回其所在结点的地址;
- Position FindMin( BinTree BST ):从二叉搜索树BST中查找并返回最小元素所在结点的地址;
- Position FindMax( Bin