那么二叉搜索树似乎如何实现搜索呢?二叉搜索树和普通二叉树有什么不同呢?
概念
搜索二叉树又可以称作二叉搜索树或二叉排序树。
搜索二叉树需要满足几个条件或者说要具备几个性质:
- 1.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值
- 2.若它的右子树不为空,则右子树上所有节点的值都大于根节点的值
- 3.它的左右子树也分别为二叉搜索树
二叉搜索树的功能
查找
二叉搜索树的查找:
- 从根开始比较,查找,比根大则往右边走查找,比根小则往左边走查找。
- 最多查找高度次,走到到空,还没找到,这个值不存在。
这样在理想情况下时间复杂度是O(logn),而极端情况如下图时间复杂度还是O(n²)