这是大学数据结构算法的内容,求值后缀表达式。这位小学四年级的孩子却能越战越勇。
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 被除数。”
接着是一阵得意的坏笑 ......