搜索表示在數據結構中查找或定位某些特定元素或節點。 但是,在二叉搜索樹中搜索某個特定節點非常容易,因為二叉搜索樹中的元素以特定順序存儲。
- 將元素與樹的根進行比較。
- 如果專案匹配,則返回節點的位置。
- 否則,檢查資料項目是否小於根的元素,如果是,則移動到左子樹。
- 如果沒有,則移至右子樹。
- 遞歸地重複此過程,直到找到匹配。
- 如果未找到元素,則返回
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步:結束
上一篇:
二叉搜索樹
下一篇:
平衡搜索樹(AVL樹)