2011-10-18 31 views
1

如何爲二叉樹的固定葉數排列所有可能的樹結構? 哪個算法可以構建所有可能的樹結構? 所有可能的樹結構的數量是多少?如何爲二進制表達式樹的固定數目的葉子排列所有可能的樹結構?

二進制表達式樹,字母必須是葉

例如(A + B)* C

     * 
         + c 
        a b 

葉的數目是3

我們想重排列到其他結構如

    *    
       a + 
        b c 

我想修理訂單,因爲我會換成同樣的訂單在稍後的過程中吃掉運營商節點。只是期待結構。運營商節點的數量是動態的

,如果你想挑戰更多,你可以使用動態訂單 我也想知道動態順序算法

現在嘗試修復第一順序

下一個約束我注意到,每個內部節點應該有左和右葉

+0

您能否介紹一下您的問題。 – Avinash

+0

葉子是否必須按照每個結構的順序排列? (如你的例子) – aioobe

+0

我想要修復順序,相同的順序,因爲我將在後面的過程中排列運算符節點。只是期待結構。運營商節點的數量是動態的 –

回答

0

我的想法是遞歸交換除葉的每個級別的左右節點,並保存在每個交換 我不知道是否是正確的,但我覺得沒有失蹤