括弧演算法
A. 數據結構棧應用括弧匹配演算法
演算法如下:
從左開始向右掃描該表達式,
1、如遇左括弧(不論哪一種),將該左括弧入棧;
2、如是右括弧,如棧為空則返回出錯信息,不空就檢查其是否與棧頂左括弧是否配對,如是則棧頂元素出棧後繼續掃描(轉1 ),否則,返回出錯信息(出錯類型:右括弧先出現,或左右括弧不匹配,出錯位置);
3、如是其它字元,直接跳過,繼續掃描,如表達式未完則轉1;表達式結束轉4。
4、如棧空,顯示「匹配正確!」,否則顯示「缺失右括弧!」。
B. 帶括弧的簡便運算
帶括弧的簡便運算例子解析78-(63-72)
解題思路:四則運算規則(按順序計算,先算乘除後算加減,有括弧先算括弧,有乘方先算乘方)即脫式運算(遞等式計算)需在該原則前提下進行
解題過程:
78-(63-72)
=78+72-63
=150-63
=87
(2)括弧演算法擴展閱讀[豎式計算-計算結果]:將減數與被減數個位對齊,再分別與對應計數單位上的數相減,不夠減的需向高位借1,依次計算可以得出結果,減數小於被減數將兩數調換相減最後結果加個負號;小數部分相減可參照整數相減步驟;
解題過程:
步驟一:10-3=7 向高位借1
步驟二:15-6-1=8 向高位借1
步驟三:1-0-1=0
根據以上計算步驟組合計算結果為87
存疑請追問,滿意請採納
C. 求多項式中括弧匹配演算法~~(有關數據結構,C++實現)
括弧可以用棧來匹配啊, 數據結構中的運算符優先法就是用棧實現的,
左右括弧都是運算符,規定(優先順序最底,要入棧到運算符棧, 其他運算符優先都要高於( 但低於),其他運算符之間的優先關系暫且忽略不說,也就是當讀取到) 的時候, 括弧內運算一定會結束並得出一個結果進入到操作數棧(由於 ) 的優先順序比其他所有運算符都高,其他運算符要出棧運算,並且把結果入到操作數棧),然後就是檢查操作數棧棧頂是否是左括弧,如果是在左括弧出棧,這樣左右括弧就一起消掉,如果不是,則報錯,你要檢查你的運算符優先表的定義,因為根據定義,到讀取到右括弧的時候,括弧內的運算會結束並得出結果, 空括弧不影響計算, 只是沒有操作數入棧而已,而且可以嵌套括弧 , 規定好了優先順序,可以實現多種不同優先順序的括弧的混合運算
D. 帶括弧的加減混合運算是什麼
先算括弧裡面的,再算外面的加減。
加減混合運算題應該按從左向右順序依次演算。
1、同級運算時,從左到右依次計算。
2、兩級運算時,先算乘除,後算加減。
3、有括弧時,先算括弧裡面的,再算括弧外面的。
4、有多層括弧時,先算小括弧里的,再算中括弧裡面的,再算大括弧裡面的,最後算括弧外面的。

(4)括弧演算法擴展閱讀
運算定律
1、加法交換律:在兩個數的加法運算中,交換兩個加數的位置,和不變。字母表示:a+b=b+a
2、加法結合律:三個數相加,先把前兩個數相加,再加另一個加數;或者先把後兩個數相加,再加另一個加數,和不變。字母表示:(a+b)+c=a+(b+c)
3、乘法交換律:兩個數相乘的乘法運算中,交換兩個乘數的位置,積不變。字母表示:a×b=b×a
4、乘法結合律:三個數相乘,先把前兩個數相乘,或先把後兩個數相乘,積不變。字母表示:(a×b)×c=a×(b×c)
5、乘法分配律:兩個數相加(或相減)再乘另一個數,等於把這個數分別同兩個加數(減數)相乘,再把兩個積相加(相減),得數不變。字母表示。
E. 試編寫一個演算法從檢查一個Java語言中的大括弧方括弧小括弧是否配對,若能夠全
要編寫用於檢查 Java 程序中的大括弧、方括弧和圓括弧是否正確匹配的演算法,可以使用堆棧數據結構來跟蹤代碼中遇到的左大括弧。例如,您可以使用以下步驟:
初始化空堆棧。
循環遍歷 Java 程序中的字元,從第一個字元開始。
如果當前字元是左大括弧(即、、或),則將其推送到堆棧上。{[(
如果當前字元是右大括弧(即、或),則從堆棧中彈出頂部元素。如果彈出的元素與當前右大括弧不匹配,則返回(指示大括弧未正確匹配)。}])False
重復步驟 3 和 4,直到到達 Java 程序的末尾。
如果堆棧為空,則返回(指示大括弧正確匹配)。否則,返回(表示大括弧未正確匹配)。TrueFalse
此演算法使用堆棧來跟蹤 Java 程序中遇到的左大括弧,並通過將右大括弧與從堆棧中彈出的相應左大括弧進行比較來檢查是否匹配。此方法可以處理大括弧的任意嵌套結構,並將正確識別 Java 程序中的大括弧是否正確匹配。
請注意,這只是一個示例演算法,可能還有其他方法可以解決此問題。您可以嘗試不同的方法來找到最適合您的解決方案。
F. 為啥吧括弧拆開就是簡便演算法
這個簡便方法的時候,有的時候括弧它是一個阻礙。
當你把括弧拆開以後,你就會發現括弧外和括弧內的數字是可以組成真實或者是整百的。這樣就是最簡便的方法。
