我的MIPS Assembly類需要我將未知大小的表達式讀入分析樹。我從來沒有對付樹木,所以我這是怎麼繞到存儲值:關於樹和前綴(波蘭語)符號?
比方說,用戶輸入表達式1 + 3 - 4(每個操作數只能是數字1-9)
我最左邊的子節點將是起點,包含2個數據
1. The operand
2. Pointer to the next node (operator)
的我這是怎麼構建的樹。我會從操作數指向運算符,直到下一個運算符指向下一個運算符,直到沒有更多值要讀入爲止。
我的下一個任務是遞歸遍歷樹並以infix/prefix/postfix表示法輸出值。
考慮到我如何構建樹,Infix遍歷不成問題。
我被困在前綴上。首先,我不完全理解它。
當我輸出我們的表達式(1 + 3 - 4)在前綴應該出來 - + 1 3 4?遵循在線示例我遇到了麻煩。
你也認爲我的樹構建正確嗎?我的意思是,我無法前往當前節點的前一個節點,這意味着我總是必須從最左側的子節點開始遍歷,即使我的TA說這是一條路,本能地聽起來不正確。
謝謝你的幫助。
這就是我正要給的答案。謝謝sykora! – Niyaz 2009-02-07 15:46:39