C 从叶子到树底都要建树

C 从叶子到树底都要建树,c,tree,C,Tree,我想从头到脚地造一棵树。我有一个列表,按照树叶在树底部的顺序排列: a->b->c->d->e->f->g 从叶子到根我希望每个内部节点都有一个左和右子节点。树和根的内部节点都是空节点。如果列表中的叶子数目是奇数,则可能有一棵树,其中一些叶子比其他叶子离根更远 最有效的方法是什么?当你说你有一个列表可以提供叶子时,你是指一个列表可以提供叶子所持有的值,还是指实际的叶子对象?另外,内部节点的特性应该是什么?您对什么样的效率感兴趣?代码大小?表演记忆?你似乎在寻找一个B-树:可能重复到:树必须是二进

我想从头到脚地造一棵树。我有一个列表,按照树叶在树底部的顺序排列: a->b->c->d->e->f->g 从叶子到根我希望每个内部节点都有一个左和右子节点。树和根的内部节点都是空节点。如果列表中的叶子数目是奇数,则可能有一棵树,其中一些叶子比其他叶子离根更远
最有效的方法是什么?

当你说你有一个列表可以提供叶子时,你是指一个列表可以提供叶子所持有的值,还是指实际的叶子对象?另外,内部节点的特性应该是什么?您对什么样的效率感兴趣?代码大小?表演记忆?你似乎在寻找一个B-树:可能重复到:树必须是二进制的,但对于每个左边的孩子,必须有一个右边的,这就是为什么它必须从下到根构建。树将是某种类型的段树,因此内部节点将具有关于它们所表示的段的信息。