我试图写一个递归来释放树中的所有元素。数据结构是一个带有info的结构,一个指向left子节点的指针和一个指向兄弟的指针。
如何释放树中的所有节点?我试过了下订单的方法,但是我不能把它弄好了。谢谢你
树不是二进制
答案 0 :(得分:0)
有两种方法可以递归或迭代地执行此操作。
递归方法是最简单的代码。您编写了一个“自由节点”函数,用于检查节点是否有任何后代或兄弟节点,并在每个节点上调用“空闲节点”,然后释放它所调用的节点。在根节点上执行此“自由节点”操作将释放整个树。
迭代方法做同样的事情,但保留一个节点列表来释放。这是迭代方法的草图: