【发布时间】:2015-01-05 04:29:39
【问题描述】:
假设我有一个如下所示的结构:
struct tree_suspects {
char **description;
struct tree_suspects *right_description;
struct tree_suspects *wrong_description;
}
.. 我想在用malloc 分配每个节点之后freeevery 节点。
这棵树应该能够毫无问题地容纳数百个节点。因此,使用递归函数将帧堆叠起来效率非常低,那么是否有任何形式的循环或可以让我将所有节点分组到数组中的东西?递归真的是唯一的方法吗?
【问题讨论】:
-
你能改变你的节点来包含一个指向父节点的指针吗?否则,你总是需要 O(height) 内存。
标签: c recursion data-structures tree recursive-datastructures