這是大學數據結構算法的內容,求值後綴表達式。這位小學四年級的孩子卻能越戰越勇。
Lucas 用了不太理想的堆棧實現,效率低下。但堆棧的正確性沒問題。咱們先暫且寬容他吧。
Lucas did a super good job today! [Rose][Rose]
His program can evaluate something as complicated as
2 3 4 5 - * 6 7 8 - - * + 9 +
which is the corresponding postfix expression of this original infix expression:
2 + 3 * ( 4 - 5 ) * ( 6 - ( 7 - 8 ) ) + 9
搞定加法後,Lucas 沒有被減法難住,巧妙地解決了兩個操作數的出棧順序問題:
如法炮製,除法也有操作數出棧順序問題。Lucas 繼續施展妙招。卻遇到程咬金(整數除法有點特別,幾分之一都變成零了)。
他大喊一聲:“This time we have to add another line of code here.”
他調侃我:“Do you know what cs stands for?”
我:“Computer Science.” 我知道這不是他代碼中的那個變量名 cs 。
他繼續:“What is cs and what is bcs?”
我:“I have no idea.”
他:“除數 and 被除數。”
接著是一陣得意的壞笑 ......