使用递归和二叉树评估算术表达式

时间:2015-10-17 03:59:25

标签: java recursion binary-tree

我在制作递归算法时遇到一些问题,能够做一些基本的操作,包括乘法,除法,减法加法和幂。除非我开始加入括号,否则我会把一切都搞定。我知道一个事实,他们优先,但我无法弄清楚如何这样做。

代码背后的基本思想是创建一个二叉树,其中每个节点都是一个操作符的开头,其最高优先级位于树的底部,最高优先级位于树的底部。我的方法是首先检测是否有任何右括号,检查右括号右边是否有任何运算符,如果有一个有效的运算符,树的左边部分将是右括号和右边的所有内容。树的一部分将是操作员之后的一切。我面临的问题是何时考虑左括号......

这是我的代码:

<html data-ng-app="dashboard">

<head>
  <title>Demo AngularJS</title>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>

<body data-ng-controller="dashboardController">
  <div class="sse" data-ng-init="initSSE()">
    <h3>Demo With HTML5 Server-Sent Events in PHP</h3>
    <div data-ng-bind="statusSSE"></div>
    percentage_completion: {{testSSE.percentage_completion}}
    <br />
    <progress min="0" max="100" value="{{testSSE.percentage_completion}}" />
  </div>
</body>

</html>

此时,我们将不胜感激任何提示或建议。

修改

我不是在寻找内置的Java库来做到这一点。我只想弄清楚我错过了什么以及我哪里出错了。

0 个答案:

没有答案