NOIP中字首 中綴 字尾的相互轉換方法 簡單明瞭啊。謝謝

時間 2025-06-18 12:40:06

1樓:1鄭哲

前轉中 中轉前 從後讀 (遇到運算子壓入棧 遇到低階運算子彈出高階的 如果有「(」則壓入棧 遇到「)」時 彈出「(」之間的運算子 最後去掉「(」

中轉後 後轉中 從前讀。

我找到的。將中綴表示式轉換為字尾表示式的演算法思想:

數字時,加入字尾表示式;

運算子:a. 若為最低階的運算子,入棧;

b. 若為 '(',入棧;

c. 若為 ')',則把棧中的的運算子加入字尾表示式中,直到 '(',從棧中刪除'(' ;

d. 若為不是最低階的運算子,則將從棧頂到第乙個優先順序不大於(小於,低於或等於)它的運算子(或 '(',但優先滿足前乙個條件)之間的運算子加入字尾表示式中,該運算子再入棧;

這句話不好理解,可以說成這樣,從棧頂開始,依次彈出出當前處理的運算子優先順序高的運算子,直到乙個比它優先順序低的或者遇到了乙個左括號就停止。

當掃瞄的中綴表示式結束時,棧中的的所有運算子入棧;

運用字尾表示式進行計算的具體做法:

建立乙個棧s

從左到右讀字尾表示式,讀到數字就將它轉換為數值壓入棧s中,讀到運算子則從棧中依次彈出兩個數分別到y和x,然後以「x 運算子 y」的形式計算機出結果,再壓加棧s中。

如果字尾表示式未讀完,就重複上面過程,最後輸出棧頂的數值則為結束。

三。表示式之間的轉換。

這裡我給出一箇中綴表示式:a+b*c-(d+e)

第一步:按照運算子的優先順序對所有的運算單位加括號:式子變成拉:((a+(b*c))-d+e))

第二步:轉換字首與字尾表示式。

字首:把運算子號移動到對應的括號前面。

則變成拉:-(a *(bc)) de))

把括號去掉:-+a*bc+de 字首式子出現。

字尾:把運算子號移動到對應的括號後面。

則變成拉:((a(bc)* de)+

把括號去掉:abc*+de+- 字尾式子出現。

發現沒有,字首式,字尾式是不需要用括號來進行優先順序的確定的。

如表示式:3+(2-5)*6/3

字尾表示式 棧。

2樓:網友

根據運算順序,或者說優先順序的大小。

先寫數字,然後先算的符號先寫,不加任何括號。

字尾表示式演算法思想)

noip複賽會考哪些型別的題目?該如何複習?

3樓:夕日素顏依舊在

資料結構:指標、資料、連結串列、迴圈連結串列、二叉樹、檔案操作。

程式設計:演算法的實現能力、程式除錯的基本能力、設計測試資料的基本能力、程式的時間\空間複雜度的計算。

演算法處理:離散數學知識的應用(排列組合,簡單圖論)、分治思想、模擬法、貪心法、簡單的搜尋演算法(深度優先、廣度優先)、動態規劃的思想及基本演算法。

求noip2011考試範圍。。。。。。就是可能考的靠譜點的知識(不包括基本的演算法之類的)

4樓:pascal博士

哎,今年呢……

可能會有排序,當然少不皮譽鬧了動態規虛首劃。

第一題……水,掌握基礎知識和簡單的動燃罩態規劃,普及組拿個省一沒問題。

5樓:網友

邏輯嫌孝、思路、智商、數學、打字速度。

心理素質、灶昌記憶隱者扒力、蒙。

最最重要的:rp。。。

請教各位大神,noip初賽(c++)如何準備,有沒有資料可以分享,謝謝

6樓:武風

初賽試卷,去文庫裡查吧。

主要是,選擇題需要基礎,各種網際網絡協議啊,計算容量,字首字尾表示式,二進位,二叉樹,偶爾會有簡單的圖。

初賽試卷多做幾份。

字首表示式"+3*2+5 12"的值是多少?

7樓:從點滴中發現

你在做noip2010第十六屆全國青少年資訊學奧林匹克聯賽初賽吧。

答案是35

noip需要準備哪些方面的基礎知識。複賽需要做哪些型別的題目(提高組)?

8樓:網友

二、複賽內容與要求:

a.資料結構:

1.指標型別。

2.多維陣列。

3.單連結串列及迴圈連結串列。

4.二叉樹。

5.檔案操作(從文字檔案中讀入資料,並輸出到文字檔案中)

b.程式設計。

1.演算法的實現能力。

2.程式除錯基本能力。

3.設計測試資料的基本能力。

4.程式的時間複雜度和空間複雜度的估計。

c.演算法處理。

1.離散數學知識的應用(如排列組合、簡單圖論、數理邏輯)

2.分治思想。

3.模擬法。

4.貪心法。

6.動態規劃的思想及基本演算法。

評測環境。noip2010比賽環境規範依照使用linux平臺、統一編譯器、提供多種整合開發環境選擇的原則制定。

noip2010的比賽環境中,作業系統平臺選擇linux;在固定的作業系統平臺下,對應不同的語言,使用統一的編譯器,消除編譯器不同給選手帶來的不利影響;對應每種語言,提供了多種整合開發環境,選手可以根據自己的習慣選擇整合開發環境。

在全國評測時,評測環境保持與比賽環境的作業系統及編譯器一致。也就是說全國評測時,使用與選手比賽時一致的平臺對選手的程式進行評測,以消除平臺不一致帶來的不利影響。

以下是noip2010比賽環境要求的詳細描述:

使用linux作業系統平臺:

1)linux作業系統必須使用noi linux,基於ubuntu開發;

2)pascal語言,必須使用free pascal 版本作為編譯器;

3)c語言,必須使用gcc 作為編譯器;

4)c++語言,必須使用g++ 作為編譯器。

單詞的字首字尾是什麼意思 有點忘了

天馬流星拳 字首往往改變單詞意思,字尾往往改變單詞詞性。 詞綴是加在詞前或詞後的一些固定組織,有固定意思,但不能單獨成詞,英語最常見的字尾是er 做什麼事的 人 如 teach teacher write writer sing singer 字首加在詞前,常見的有pre 意思是 之前 pre re...

為什麼英語單詞加個字首或者字尾其中字母的發音就不一樣

這牽扯到單詞的重音。英語為了區別詞性,詞義,同一個單詞的重音不同,重音改變了,因素的發音自然也會改變。如desert 就有遺棄和沙漠的意思。你可以自己查字典求證一下,有利於記憶。規則得在實踐中總結積累,據我所知,沒有現成的,呵呵。 pre pare,stress on pare.pre par at...

C語言增量運算子的字首和字尾形式的區別是什麼?高手請進來幫忙解答下

i 是先讀取i的值在進行加1 1是先進行加1,再讀取i的值 放到for裡面沒效果,因為不管i 還是 i,都不會取當時i的值,而是在這一步過了才取到它的值。下面舉個簡單例子 main 你執行下就知道結果了 while迴圈就是滿足條件時一直執行,直到不滿足才跳出你給的這個式子的答案是b 2 c 3.ma...