目前,我正在研究一個程序,其中一個步驟是檢查葉子c是否與另外兩個葉子在相同的子樹中a和b在二叉樹T中。我目前的方法如下:首先,找到T中每對葉子的LCA,並將其存儲在字典中。然後,對於樹中的每個節點,查找所有樹葉的後代,並將其存儲在字典中。然後,當我需要確定c是否與a和b在同一子樹中時,我找到a和b的LCA,並檢查c是它的後代。檢查葉子c是否與葉子a和葉子b在同一子樹中的最有效算法
我需要爲許多不同的對a和b運行此步驟,並且在具有多達600個葉子的二叉樹上執行此操作,所以有更快的算法,或者使用更少的內存,這同樣的任務?謝謝。
這非常有幫助;謝謝! –