【发布时间】:2015-10-03 17:48:04
【问题描述】:
我正在尝试在 C# 中实现二叉搜索树的搜索方法。我选择递归而不是迭代。该方法基本上采用键(在本例中为“项目”)和树(或子树)的根节点来开始检查。 else if 子句肯定有问题,但我无法确定。任何帮助将不胜感激。干杯!
public bool Search(int item, TreeNode searchRoot){
if (searchRoot != null) {
if (item == searchRoot.GetItem ()) {
return true;
} else if (item < searchRoot.GetItem ()) {
Search (item, searchRoot.GetLeftNode ());
} else if (item > searchRoot.GetItem ()) {
Search (item, searchRoot.GetRightNode ());
}
} else {
return false;
}
}
【问题讨论】:
-
return Search (item, searchRoot.GetLeftNode ());等,else在第一个if的末尾。
标签: c# binary-search-tree