我必须创建一个树,每个节点最多可以包含 n 子节点(即它不是二叉树)。
我该怎么做?
答案 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树。在简单版本中,节点将包含链接列表或数组,其中包含指向其他节点的指针。