Ben bir değer kabul edip ağacın içinde bulunan olup olmadığını görmek için düğümler arasında durmadan kontrol edecek benim BSTree sınıfa yöntemini içerir uygulamaya çalışıyorlar. Ben algoritma doğru olduğunu düşünüyorum, ama deyimi eğer ilk başta StackOverflowException almaya devam niçin bilmiyorum. Herhangi bir fikir?
public Boolean Contains(T item)
{
Node<T> node = root;
return contains(root, item);
}
private Boolean contains(Node<T> node, T item)
{
if (item.CompareTo(root.Data) == 0)
{
return true;//return 0 if found
}
else
{
if (item.CompareTo(root.Data) > 0)
{
//root = node.Left;
Node<T> left = root.Left;
return(contains(root, item));
}
else
{
if (item.CompareTo(root.Data) < 0)
{
//root = node.Right;
Node<T> right = root.Right;
return(contains(root, item));
}
else
{
return false;//return 1 if not found
}
}
}
}













