抽象
我们正在创建一个应用程序,用户可以使用实验室发送的数据创建公式。
我目前正在创建一个经过严格解析的字符串,以确定数字是变量,常量还是数学函数。
例如,
如果用户制作的公式为:
Constant_Id_2 ^(5 + Model_Alpha)/(Constant_Id_1 * 2)
我会解析它:
' POW(| 2 |,((5 + {1})/(| 1 | * 2)))'
然后我会保存并解析它。我的解析器知道那个
'串()'或者'字符串(,)' =数学函数
{m_id} =模特参考
| C_ID | =常量参考
模型需要能够从正确的组中获取模型变量,并检查它是否具有基于该值的已定义系数。
常数就是这样,价值不会改变但代表某些东西。
正如您可能已经猜到的那样,嵌套或其他我无法预料的事情可能会导致错误。代码很复杂,不是最容易理解的。即使有评论。我希望减少错误,更容易理解/读取代码。
这让我想到了我在数据结构类中看到的东西
二叉树
Carrano,Frank M.和Timothy Henry。数据抽象&问题 用C解决:墙壁和镜子。第6版,Pearson,2013年。图 15-3表示代数表达式的二叉树
我的问题是:
使用这棵树,我想让它成为二叉搜索树吗?我不这么认为,因为不必搜索。刚刚走过。
我是否关心树的平衡?意思是,如果会有嵌套,会用表达式来平衡树的混乱吗?或者有没有办法保持平衡并保持表达式的操作顺序?
我刚刚开始学习树木,而我前几天只制作了一棵二元树,然后是二元搜索树。
我知道其他树木,如2-3棵树,2-3-4棵树和一棵红黑树。
这种应用会不会更好?