Как мне разобрать целое 2-3 дерева?

У меня есть 2-3 дерева со следующей структурой узла:

struct node
{
    int value1, value2;
    node *parent, *left, *right, *middle;
}

Проблема в том, что я не знаю, как разобрать все дерево. Я знаю, как мы его ищем, потому что вы просто идете по правильному пути. Но как мне проверить все узлы в дереве?

1 ответ

Решение

Вот псевдокод, который может помочь:

   void ParseNode(node *n)
   {
        OperationToParseCurrentNode();

        if(n->left)
           ParseNode(n->left);
        if(n->middle)
           ParseNode(n->middle);
        if(n->right)
           ParseNode(n->right);
   }

Это будет проходить через все узлы, если вы введете корневой узел.

Другие вопросы по тегам