Я использую следующий метод для прохождения * двоичного дерева из 300 000 уровней:
Node* find(int v){
if(value==v)
return this;
else if(right && value<v)
return right->find(v);
else if(left && value>v)
return left->find(v);
}
Однако я получаю ошибку сегментации из-за. Любые идеи о том, как пройти через глубокое дерево без накладных расходов на вызовы рекурсивных функций?
* Под "траверсом" я подразумеваю "поиск node с заданным значением", а не полный обход дерева.