Поиск в небинарном дереве по ключу
Поиск в небинарном дереве. Каждый узел в дереве имеет N-ное число потомков. Как осуществить поиск требуемого элемента? Структура узла:
struct Node
{
int key = 0; //ключ
int id = 0; //индекс
int level = 0; //уровень в иерархии
Node* parent = nullptr; //указатель на родителя
Node** son = nullptr; //массив указателей на сыновей
int count_son = 0; //количество сыновей
};
Моя нерабочая функция рекурсивного поиска
Node* Find(Node* root, int key) // Ищет узел с указанным ключом
{
if (root == NULL)
return NULL;
if (root)
{
Node* cur = root;
for (int i = 0; i < cur->count_son; i++)
{
if (cur->key == key)
return cur;
cur = cur->son[i];
Find(cur, key);
}
}
}