一种基于搜索框的计算方法及装置的制造方法_2

文档序号:8299163阅读:来源:国知局
设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
[0050]需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0051]后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
[0052]这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0053]应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0054]应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
[0055]这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0056]还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0057]下面结合附图对本发明作进一步详细描述。
[0058]图1是根据本发明一个实施例的基于搜索框的计算方法的流程图。本发明中的方法主要通过移动终端中的操作系统或微处理器来完成。该移动终端包括但不限于平板电脑、智能手机、PDA等。
[0059]如图1中所示,本实施例所述的基于搜索框的计算方法主要包括如下步骤:
[0060]S100、接收用户输入的内容,当检测到用于启动计算的字符时,则根据二叉树规则对所述用户输入的内容进行解析;
[0061]S110、若所述用户输入的内容能够解析成二叉树,则获取所述二叉树对应的数学公式的计算结果,并将该计算结果显示在所述搜索框中。
[0062]下面对各步骤做进一步详细介绍。
[0063]如图2所示,步骤SlOO中,可以由移动终端的默认搜索引擎的搜索框或特定应用程序的搜索框接收用户输入的内容,当检测到用户输入了用于启动计算的字符时,则启动计算过程。
[0064]其中,用于启动计算的字符可以是“ = 等于”或者“是多少”等具有获得计算结果的意愿的符号或文字。
[0065]随后,在步骤SllO中,若所述用户输入的内容能够解析成满足预定条件的二叉树,则获取所述二叉树对应的数学公式的计算结果,并将所述计算结果显示在所述搜索框中。
[0066]在步骤SllO中,若用户输入的内容能够解析成满足如下预定条件的二叉树,则获取所述二叉树对应的数学公式的计算结果,并将所述计算结果显示在所述搜索框中。其中的二叉树可以是每个节点最多有两个子树的树结构,并且包括完全二叉树、满二叉树、平衡二叉树等形式的二叉树均可用于本实施例的基于搜索框的计算方法。当任意一种用户输入的内容能够被解析成满足预定条件的二叉树时,即表示该二叉树能够被识别为数学公式,最后可由移动终端将该数学公式对应的计算结果显示在搜索框中。
[0067]可选的,步骤SllO中的预定条件包括:
[0068]条件1、二叉树的叶子节点都是操作数,二叉树的非叶子节点都是操作符。
[0069]该条件I是为了对输入的内容进行计算时,能够将二叉树还原成数学公式,通过二叉树表示数学公式,能够为数学计算提供较高的效率,而如果采用直接对数学公式计算的方式,则需要对整个数学公式识别一遍后找到优选级最高的操作符,然后依次对优先级较低的操作符进行计算,因此采用二叉树表示数学公式能够提高计算效率,从而提升用户的使用体验。
[0070]条件2、每个非叶子节点的操作符的优先级低于该非叶子节点的子树节点上的操作符的优先级。
[0071]该条件2是为了区分操作符的优先级,从而在遍历二叉树的过程中即可对当前遍历的操作符进行计算,而无需比较多个操作符之间的优先级,进一步提升了计算效率。
[0072]当用户输入的内容解析成的二叉树同时满足条件I和条件2时,则可判断用户输入的内容是数学公式。
[0073]进一步可选的,所述预定条件还包括:
[0074]条件3,对于具有两个操作数的操作符所在的节点,将所述用户输入的内容中位于该操作符左侧的操作数设置在该操作符所在节点的左子树节点,将所述用户输入的内容中位于该操作符右侧的操作数设置在该操作符所在节点的右子树节点。
[0075]该条件3是针对“ +等具有两个操作数的操作符时,该两个操作数不会因为设置在子树的位置错误而导致整个属性公式的计算结果错误。可以理解的,该两个操作数不仅可以分别设置在左子树节点和右子树节点上,任何能够对该两个操作数的位置进行区分的方式均可使用在本实施例中。
[0076]条件4,对于具有一个操作数的操作符所在的节点,该操作数设置在该操作符所在的节点的左子树节点。
[0077]该条件4是针对“sin”、“tan”、“log”等具有一个操作数的操作符时,该一个操作数不会因为设置在子树的位置不统一而导致整个公式的计算结果错误。可以理解的,该一个操作数不仅可以设置在左子树节点上,也可以设置在右子树节点上,并且任何能够统一对该一个操作数的位置进行规定的方式均可使用在本实施例中。
[0078]当用户输入的内容解析成的二叉树同时满足条件3和条件4,或者只满足条件3和条件4中的一个时,则认为用户输入的内容是数学公式。例如用户输入的内容既包括具有两个操作数的操作符也包括具有一个操作数的操作符时,则需要同时满足条件3和条件4 ;当用户输入的内容只包括具有两个操作数的操作符或者只包括具有一个操作数的操作符时,可以只满足条件3或条件4中的一个。
[0079]以上所列举的条件仅为例举,本领域技术人员应理解还有其他可适用于本发明的条件,也应落入本发明的保护范围,为简明起见,仅以引用方式包含于此,而不做赘述。
[0080]以下结合图3来说明根据本发明的基于搜索框的计算方法的一个实例:
[0081]如
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1