アイデア
二分探索木の検索操作はシンプルで効果的です。二分探索木の性質に基づいて、ルートノードから開始して、左のサブツリーまたは右のサブツリーに移動して検索を続行します。検索するデータに一貫性がある場合ノードデータを使用して、現在のノードが返されます。検索するデータがルートノードのデータよりも小さい場合は、現在のノードの左側のサブツリーを検索します。それ以外の場合は、現在のノードの右側のサブツリーを検索します。データが存在しません。nullポインタを返します
コード
再帰:
BinarySearchTreeNode find(BinarySearchTreeNode root,int data){
if(root == null)
return null;
if(data > root.getData()){
return find(root.getRight(),data);
}else if(data < root.getData()){
return find(root.getLeft(),data);
}
return root;
}
非递归:
```java
BinarySearchTreeNode find(BinaryTreeNode root,int data){
if(root == null)
return null;
while(root != null){
if(root.getData() == data){
return root;
}
else if(root.getData() > data){
root = root.getLeft();
}
else{
root = root.getRight();
}
}
return null;
}