虽然测试人员抱怨当达到6个操作数时,找答案的效率非常之低,但是在尝试各种优化方法后,决定暂时还是不再继续思考这个问题了。

至少不准备用以下路径来尝试了

  1. 使用非递归来优化排列
  2. 使用二叉运算树来代替排列
    使用这个方法,得到递归式不太容易,至少对俺来说不容易

将来可选的方法还有

  1. 使用NDK/c语言来代替java,估计如此效率也许会高些
  2. 还有一条路子是分Operand和Operator为两个集合,每次选两个Operand和一个Operator出来操作,操作结果加入原Operand形成新Operand,再继续尝试。。。直到两个集合均为空就算完成一次尝试,这是一个递归回溯的问题。恩,这种思路值得鼓励。
Advertisements