2013-06-04 31 views
0

我有一個通用的N元表達式樹,我想將其轉換爲二叉樹。有沒有明確的算法來做同樣的事情?將N元表達式樹轉換爲二叉樹

我嘗試着將不同的算法轉換成表達式樹,像https://groups.google.com/forum/?fromgroups#!topic/wncc_iitb/RrgohUZ-uhw這樣的表達式樹,但是這樣做不起作用,因爲它們不擔心優先級和所有。

謝謝。

+0

您可以擴展您對二叉樹的要求嗎?任何具體的東西......或者是你的唯一要求,即一個節點的孩子,只不過是同一個節點的後代? – ChrisCM

回答

0

簡單的答案。

第1步:將具有不同優先級的N元表達式樹轉換爲N元樹,其中每個節點只有一個優先級。

第2步:將該樹轉換爲二叉樹。

如果你正在尋求一個簡單的解決方案而不是一個有效的解決方案,可能很容易將每個節點分解爲與優先級匹配的級別,然後在二叉樹摺疊出明顯無用的節點之後。如果你想要一個更高效的解決方案,那麼你會希望在最初的擴張時更謹慎。