Вид нового для деревьев и рекурсивных функций....
Я знаю основы создания стека и создания рекурсивных функций.
Я делаю предварительно упорядоченный обходной поиск, который должен возвращать адрес узла в дереве, когда искомое значение совпадает со значением этого узла.
У меня проблемы с возвратной частью... Я пробовал кое-что читать в стеках вызовов... но не понимаю, как это реализовать. Это уже есть или мне нужно сделать этот стек? Как мне сделать этот стек, если я должен это сделать? Я читал, что он должен быть пропорционален высоте дерева... Является ли лучший способ найти высоту дерева, чтобы сделать другую функцию, которая делает это?
Вот некоторый код, который я написал до сих пор: Tree и NodePtr - это указатель на узел...
NodePtr SearchTree(int v, Tree T)
{
//printf(" %i \n", T->value);
if(T->value == v)
{
return T;
}
else
{
if(T->Left != NULL) SearchTree(value, T->Left);
if(T->Right != NULL) SearchTree(value, T->Right);
}
return NULL;
}