[發明專利]用于公式的數據處理方法和裝置有效
| 申請號: | 201410779244.4 | 申請日: | 2014-12-15 |
| 公開(公告)號: | CN104484311B | 公開(公告)日: | 2019-04-09 |
| 發明(設計)人: | 池雷 | 申請(專利權)人: | 北京國雙科技有限公司 |
| 主分類號: | G06F17/10 | 分類號: | G06F17/10 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 吳貴明;張永明 |
| 地址: | 100086 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 公式 數據處理 方法 裝置 | ||
1.一種用于公式的數據處理方法,其特征在于,包括:
將接收到的用戶輸入的待校驗公式轉換為后綴表達式;
構建所述后綴表達式的二叉樹;
判斷所述后綴表達式的所述二叉樹的樹節點是否符合第一預設條件;
若所述二叉樹的所述樹節點符合所述第一預設條件,則判斷出所述待校驗公式正確;
若所述二叉樹的所述樹節點不符合所述第一預設條件,則判斷出所述待校驗公式不正確,
其中,將接收到的用戶輸入的待校驗公式轉換為后綴表達式包括:
接收所述用戶輸入的所述待校驗公式;
獲取所述待校驗公式的各個操作符的優先級;
按照各個所述操作符的優先級將所述待校驗公式轉換為對應的所述后綴表達式;
在按照各個操作符的優先級將待校驗公式轉換為對應的后綴表達式之后,該用于公式的數據處理方法包括:按照第二預設條件修正后綴表達式,得到修正后的后綴表達式,其中,所述第二預設條件包括:將后綴表達式中距離求和操作符“∑”最近的一個普通操作符與求和操作符“Σ”合并為一個操作符,所述普通操作符包括:“+”、“-”、“*”、“/”,
其中,判斷所述后綴表達式的所述二叉樹的樹節點是否符合第一預設條件包括:
判斷所述二叉樹的各個第一節點是否均為操作數,其中,所述第一節點為所述二叉樹的葉子節點;
若所述二叉樹存在不為所述操作數的所述第一節點,則判斷出所述二叉樹的所述樹節點不符合所述第一預設條件;
若所述二叉樹的所述第一節點均為所述操作數,則判斷所述二叉樹的第二節點是否均為操作符,其中,所述第二節點為所述二叉樹上除所述葉子節點之外的節點;
若所述二叉樹存在不為所述操作符的所述第二節點,則判斷出所述二叉樹的所述樹節點不符合所述第一預設條件;
若所述二叉樹的所述第二節點均為所述操作符,則判斷所述二叉樹的所述第二節點是否均具有兩個子樹;
若所述二叉樹存在不具有所述兩個子樹的所述第二節點,則判斷出所述二叉樹的所述樹節點不符合所述第一預設條件;
若所述二叉樹的所述第二節點均具有兩個子樹,則判斷出所述二叉樹的所述樹節點符合所述第一預設條件。
2.根據權利要求1的數據處理方法,其特征在于,獲取所述待校驗公式的各個操作符的優先級包括:
判斷各個所述操作符是否均存在于預設數據表;
若所述操作符不均存在于所述預設數據表,則結束判斷,然后提示所述用戶重新輸入所述待校驗公式;
若所述操作符均存在于所述預設數據表,則從所述預設數據表中讀取所述操作符的優先級。
3.根據權利要求1所述的數據處理方法,其特征在于,判斷所述二叉樹的各個第一節點是否均為操作數包括:
讀取各個所述第一節點的數據;
判斷各個所述第一節點的所述數據的類型是否為變量或常量;
若各個所述第一節點的數據的類型均為所述變量或常量,則判斷出所述二叉樹的各個所述第一節點均為所述操作數;
若存在數據的類型不為所述變量或常量的所述第一節點,則判斷出所述二叉樹中存在不為所述操作數的所述第一節點。
4.根據權利要求1至3中任意一項所述的數據處理方法,其特征在于,在接收所述用戶輸入的所述待校驗公式之前,所述數據處理方法還包括:
獲取預設的所述操作符的優先級;
保存所述操作符與所述操作符的優先級的對應關系為預設數據表。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京國雙科技有限公司,未經北京國雙科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410779244.4/1.html,轉載請聲明來源鉆瓜專利網。





