1. 程式人生 > >樹結構的子樹合併(不考慮子樹順序)

樹結構的子樹合併(不考慮子樹順序)

        樹結構問題的解決方式很自然的想到使用遞迴的方法,其實這也是一個遞迴的問題。判斷子樹1.1和子樹1.2是否等價,除了判斷節點1.1和節點1.2是否等價外,還要判斷他們是否有完全對應的子節點。即在1.2的子樹中是否有與1.1的子樹1.1.1、子樹1.1.2和子樹1.1.3等價的樹,如果有完全對應等價的子樹(子樹1.1的每一棵子樹唯一地與1.2中的某一棵子樹等價,子樹1.2中的每一棵子樹唯一地與1.1中的某一棵子樹等價)。直接看子樹1.1和子樹1.2並不對應,因為子樹數量不同。但實際上子樹1.1的兩課子樹1.1.1和1.1.2等價,是必須合併的。應該對合並子樹的過程進行後序遍歷。比如要合併根節點1的子樹,要保證先完成對其子節點1.1、1.2和1.3的子樹合併,在1.1、1.2和1.3的子樹中不存在等價的子樹。