The invention discloses a method and device for computing string expression based on binary tree, which belongs to the field of computer technology. The method is as follows: obtaining input string, such as \IP Type==192.168.1.1AND ProType==TCP\; resolving field type, such as IP address type, IP protocol type; resolving operator, such as == symbol, AND symbol; acquiring character prefix. Expressions; Loading strings into binary trees; Computing binary trees to obtain expression results. The present invention solves the problem of semantic judgment of expression types of pure text strings by using binary tree computing technology.
【技术实现步骤摘要】
一种基于二叉树的字符串表达式计算方法及装置
本专利技术涉及计算机
,更具体地说,涉及一种基于二叉树的字符串表达式计算方法及装置。
技术介绍
前缀表达式:是一种没有括号的算术表达式,其将运算符写在前面,操作数写在后面。二叉树:在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(leftsubtree)和“右子树”(rightsubtree)。现有技术;互联网上的现有技术主要为通过字符串表达式求值,其操作的字符范围为数字以及数学符号,形如“(4+3*2)/2”的表达式。现有技术的缺点主要是:1、无法进行纯字符串的表达,此类表达一般都含有较大业务意义,例如“IP地址==192.168.1.1并且协议类型==TCP”。2、只能对数字等简单类型做操作,无法进行自定义扩展类型的操作。
技术实现思路
1.要解决的技术问题针对现有技术中存在的问题,本专利技术的目的在于提供一种基于二叉树的字符串表达式计算方法及装置,它通过二叉树计算的技术,解决纯文字字符串的表达式类型的语义判断问题。2.技术方案为解决上述问题,本专利技术采用如下的技术方案。一种基于二叉树的字符串表达式计算方法及装置,所述方法如下:S1、获取输入字符串;S2、解析字段类型;S3、解析操作符;S4、获取字符前缀表达式;S5、将字符串装入二叉树中;S6、计算二叉树,获得表达式结果。进一步的,上述方法通过java实现,具体步骤如下:(A)抽象自定义类型;(B)定义操作符类型;(C)将字符串转换为二叉树;(D)实现二叉树计算。进一步的,所述步骤(A)中,定义抽象基类,包括如下接口:(a ...
【技术保护点】
1.一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述方法如下:S1、获取输入字符串;S2、解析字段类型;S3、解析操作符;S4、获取字符前缀表达式;S5、将字符串装入二叉树中;S6、计算二叉树,获得表达式结果。
【技术特征摘要】
1.一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述方法如下:S1、获取输入字符串;S2、解析字段类型;S3、解析操作符;S4、获取字符前缀表达式;S5、将字符串装入二叉树中;S6、计算二叉树,获得表达式结果。2.根据权利要求1所述的一种基于二叉树的字符串表达式计算方法及装置,其特征在于,上述方法通过java实现,具体步骤如下:(A)抽象自定义类型;(B)定义操作符类型;(C)将字符串转换为二叉树;(D)实现二叉树计算。3.根据权利要求2所述的一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述步骤(A)中,定义抽象基类,包括如下接口:(a)获取该类型支持的操作符接口;(b)执行表达式接口;(c)判断是否为此类型字段。4.根据权利要求2所述的一种基于二叉树的字符串表达式计算方法及装置,其特征在于,所述步骤(B)中,定义操作符基类,包括如下...
【专利技术属性】
技术研发人员:高峰,王治华,金明辉,卢志洋,邹兴兵,薛斌,
申请(专利权)人:国网上海市电力公司,新华三技术有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。