非二叉树

时间:2010-06-13 10:45:50

标签: c pointers tree

我必须创建一个树,每个节点最多可以包含 n 子节点(即它不是二叉树)。
我该怎么做?

3 个答案:

答案 0 :(得分:2)

您正在寻找n-ary树 - http://oopweb.com/Algorithms/Documents/PLDS210/Volume/n_ary_trees.html 根据此链接和其他链接(在谷歌中)中的信息,创建应该非常简单。

答案 1 :(得分:2)

而不是像这样:

Node* left;
Node* right;
你通常会对二叉树做的

,你可以这样做:

Node** children;
int size;

然后malloc指针数量的适当大小。

答案 2 :(得分:0)

GLib提供implementation个N-ary树。如果您不能使用glib,您应该寻找另一个适合您需求的库或者滚动您自己的N-ary树。在简单版本中,节点将包含链接列表或数组,其中包含指向其他节点的指针。