[发明专利]一种基于二叉树的字符串表达式计算方法及装置在审
| 申请号: | 201811608927.8 | 申请日: | 2018-12-27 |
| 公开(公告)号: | CN109783702A | 公开(公告)日: | 2019-05-21 |
| 发明(设计)人: | 高峰;王治华;金明辉;卢志洋;邹兴兵;薛斌 | 申请(专利权)人: | 国网上海市电力公司;新华三技术有限公司 |
| 主分类号: | G06F16/903 | 分类号: | G06F16/903 |
| 代理公司: | 北京卓岚智财知识产权代理事务所(特殊普通合伙) 11624 | 代理人: | 郭智 |
| 地址: | 200002 上海市浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 二叉树 计算方法及装置 字符串表达式 解析 计算机技术领域 表达式结果 表达式类型 输入字符串 文字字符串 语义 字段类型 字符前缀 操作符 字符串 装入 | ||
1.一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述方法如下:
S1、获取输入字符串;
S2、解析字段类型;
S3、解析操作符;
S4、获取字符前缀表达式;
S5、将字符串装入二叉树中;
S6、计算二叉树,获得表达式结果。
2.根据权利要求1所述的一种基于二叉树的字符串表达式计算方法及装置,其特征在于,上述方法通过java实现,具体步骤如下:
(A)抽象自定义类型;
(B)定义操作符类型;
(C)将字符串转换为二叉树;
(D)实现二叉树计算。
3.根据权利要求2所述的一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述步骤(A)中,定义抽象基类,包括如下接口:
(a)获取该类型支持的操作符接口;
(b)执行表达式接口;
(c)判断是否为此类型字段。
4.根据权利要求2所述的一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述步骤(B)中,定义操作符基类,包括如下接口
(a)计算两个值及操作符的执行结果,并返回;
(b)判断是否为此类型操作符。
5.根据权利要求2所述的一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述步骤(C)中,将字符串按(A)和(B)步骤解析后,判断出字符类型和操作符类型,根据前缀表达式得到二叉树:
(a)碰到操作数则把其值赋给相应的新申请的二叉树结点,地址压栈;
(b)碰到操作符则把其值赋给相应的新申请的二叉树,并从栈中弹出两个地址;
(c)分别作为其左指针和右指针,然后再把其地址压栈,最后一个地址即为二叉树的根结点地址。
6.根据权利要求2所述的一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述步骤(D)中,递归实现每个二叉树子树的计算,假如已经为无子节点的节点,则调用操作符类对象的接口,实现当前二叉树子树的计算,完成所有二叉树计算后,得到当前整个二叉树的最终值,也就完成了表达式的计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网上海市电力公司;新华三技术有限公司,未经国网上海市电力公司;新华三技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811608927.8/1.html,转载请声明来源钻瓜专利网。





