Algrebra的树结构

时间:2018-03-29 16:45:43

标签: algorithm tree symbolic-math

抽象

我们正在创建一个应用程序,用户可以使用实验室发送的数据创建公式。

我目前正在创建一个经过严格解析的字符串,以确定数字是变量,常量还是数学函数。

例如,

如果用户制作的公式为:

Constant_Id_2 ^(5 + Model_Alpha)/(Constant_Id_1 * 2)

我会解析它:

' POW(| 2 |,((5 + {1})/(| 1 | * 2)))'

然后我会保存并解析它。我的解析器知道那个

'串()'或者'字符串(,)' =数学函数

{m_id} =模特参考

| C_ID | =常量参考

模型需要能够从正确的组中获取模型变量,并检查它是否具有基于该值的已定义系数。

常数就是这样,价值不会改变但代表某些东西。

正如您可能已经猜到的那样,嵌套或其他我无法预料的事情可能会导致错误。代码很复杂,不是最容易理解的。即使有评论。我希望减少错误,更容易理解/读取代码。

这让我想到了我在数据结构类中看到的东西

二叉树

Binary Tree Algebra

  

Carrano,Frank M.和Timothy Henry。数据抽象&问题   用C解决:墙壁和镜子。第6版,Pearson,2013年。图   15-3表示代数表达式的二叉树

我的问题是:

使用这棵树,我想让它成为二叉搜索树吗?我不这么认为,因为不必搜索。刚刚走过。

我是否关心树的平衡?意思是,如果会有嵌套,会用表达式来平衡树的混乱吗?或者有没有办法保持平衡并保持表达式的操作顺序?

我刚刚开始学习树木,而我前几天只制作了一棵二元树,然后是二元搜索树。

我知道其他树木,如2-3棵树,2-3-4棵树和一棵红黑树。

这种应用会不会更好?

0 个答案:

没有答案