搜索表示在数据结构中查找或定位某些特定元素或节点。 但是,在二叉搜索树中搜索某个特定节点非常容易,因为二叉搜索树中的元素以特定顺序存储。
- 将元素与树的根进行比较。
- 如果项目匹配,则返回节点的位置。
- 否则,检查数据项是否小于根的元素,如果是,则移动到左子树。
- 如果没有,则移至右子树。
- 递归地重复此过程,直到找到匹配。
- 如果未找到元素,则返回
NULL
。
整个搜索过程,如下图所示:
算法:
search (ROOT, ITEM)
步骤1:
IF ROOT -> DATA = ITEM OR ROOT = NULL
返回ROOT
ELSE
IF ROOT <ROOT -> DATA
返回search(ROOT -> LEFT,ITEM)
ELSE
返回search(ROOT - > RIGHT,ITEM)
[IF结束]
[IF结束]
第2步:结束