假設我有一個結構,看起來像這樣:免費的樹形結構與非遞歸函數
struct tree_suspects {
char **description;
struct tree_suspects *right_description;
struct tree_suspects *wrong_description;
}
..我想free
每個節點用malloc
他們每個人都分配了。
該樹應該能夠容納數百個節點而沒有問題。因此,使用遞歸函數對於堆棧幀來說效率會非常低,那麼是否有任何形式的循環或某種東西可以讓我將數組中的所有節點分組?遞歸真的是唯一的方法嗎?
你可以改變你的節點來包含一個父指針?否則,你總是需要O(高度)內存。 – mafso 2014-11-08 12:49:03