數據結構

堆棧

堆棧

棧是一種數據結構,對後進先出(後進先出)。後進先出是一種特殊類型的順序是優先考慮的數據輸入。推動和流行兩個操作執行堆棧。把用於將數據添加到堆棧和流行是用來從堆棧中刪除的數據。在這兩種推和流行的操作,數據添加和刪除從堆棧的頂部。在堆棧中,有2的插入和刪除操作。

1.推動():插入棧中的值使用push()操作。

2. pop ():刪除pop()函數用於從頂部。

的例子。一堆盤子

表達式解析:的方式寫算術表達式稱為符號。一個算術表達式可以寫成三個不同但等價的符號。這些符號是−

  • 中綴表示法
  • 前綴(波蘭)符號
  • 後綴(逆波蘭)符號

中綴表示法:

中綴表示法中,操作符使用-操作數。例如,a + b + c。很容易讀和寫在中綴表示法計算設備,它是不正確的。一個算法來處理中綴表示法可以是困難和昂貴的時間和空間的消耗。

前綴表示法:

在這個符號,運營商提前寫操作數。例如,ab +。這相當於其中綴表示法a + b。前綴表示法也被稱為波蘭表示法

後綴表示法:

這個符號風格被稱為逆波蘭表示法。在這個符號,操作員寫在最後操作數。例如,ab +。這相當於其中綴表示法a + b

中綴表示法是不容易的電腦設備。中綴表示法是首先轉換成後綴或前綴符號,然後計算。

解析任何算術表達式,我們需要照顧運算符優先級和結合性。

優先級:

當一個操作數是在兩個不同的運營商,運營商將操作數第一,由操作符的優先級決定。例如−


運營商Precendence

乘法操作優先於加法,b * c將首先被評估。

結合性:

結合性描述運營商具有相同優先級的規則出現在一個表達式。例如,在表達式a + b−c, +和-具有相同的優先級,那麼表達式的這部分將首先被評估,是由這些運算符的結合性。在這裏,+和−left-associative,所以表達式將被評估(a + b)−c

Baidu
map