Недвоичное дерево - PullRequest
       2

Недвоичное дерево

2 голосов
/ 13 июня 2010

Мне нужно создать дерево, которое может иметь до n подузлов для каждого узла (т.е. это не двоичное дерево).Как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 13 июня 2010

Вместо того, чтобы иметь что-то вроде этого:

Node* left;
Node* right;

, что вы обычно делаете для двоичного дерева, вы можете сделать что-то вроде:

Node** children;
int size;

затем malloc соответствующий размер для количества указателей.

2 голосов
/ 13 июня 2010

Вы ищете n-арные деревья - http://oopweb.com/Algorithms/Documents/PLDS210/Volume/n_ary_trees.html Создание должно быть довольно простым из информации в этой и других ссылках (в Google).

0 голосов
/ 13 июня 2010

GLib обеспечивает реализацию N-арных деревьев. Если вы не можете использовать glib, вам следует искать другую библиотеку, которая соответствует вашим потребностям, или свернуть свое собственное N-арное дерево. В простой версии узел будет содержать связанный список или массив с указателями на дополнительные узлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...