国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)據(jù)結構】一篇文章帶你徹底學會《后綴表達式》

這篇具有很好參考價值的文章主要介紹了【數(shù)據(jù)結構】一篇文章帶你徹底學會《后綴表達式》。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

創(chuàng)作不易,本篇文章如果幫助到了你,還請點贊 關注支持一下?>??<)!!
主頁專欄有更多知識,如有疑問歡迎大家指正討論,共同進步!
??c語言系列專欄:c語言之路重點知識整合 ??
給大家跳段街舞感謝支持!? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

后綴表達式充分利用了的知識

棧(Stack)是一種后進先出(LIFO)的數(shù)據(jù)結構
棧通常包括兩個主要操作:入棧(push)和出棧(pop)
以及另外兩個次要操作:查詢棧頂元素(peek)和判斷棧是否為空(isEmpty)


一、概念

后綴表達式,又稱逆波蘭式,指的是不包含括號,運算符放在兩個運算對象的后面,所有的計算按運算符出現(xiàn)的順序,嚴格從左向右進行(不再考慮運算符的優(yōu)先規(guī)則)。

二、計算過程理解

如果在表達式中遇到運算符,就進行運算符前兩個數(shù)使用這個運算符進行計算,結果保留,再進行后續(xù)的計算,再次遇到運算符時,計算過程同上。

后綴表達式,# 【c語言】數(shù)據(jù)結構,數(shù)據(jù)結構,開發(fā)語言,c++,c語言,筆記
后綴表達式,# 【c語言】數(shù)據(jù)結構,數(shù)據(jù)結構,開發(fā)語言,c++,c語言,筆記

三、原理

建立一個空棧

從左到右讀表達式,如果讀到數(shù)據(jù)就將它壓入棧中,如果讀到運算符則取出由棧頂向下的數(shù)據(jù)按操作數(shù)運算

再將運算的結果代替原棧頂?shù)臄?shù)據(jù),壓入棧中

如果后綴表達式未讀完,則重復上面過程,最后輸出棧頂?shù)臄?shù)值則為結束

后綴表達式,# 【c語言】數(shù)據(jù)結構,數(shù)據(jù)結構,開發(fā)語言,c++,c語言,筆記

  • 如果當前字符是數(shù)字,則將其轉換為整數(shù)并將其壓入棧
  • 如果當前字符是運算符,則彈出堆棧上的最后兩個元素,使用該運算符對這兩個元素進行計算,并將結果壓入棧

堆棧頂部的元素即為表達式的計算結果。

中綴表達式轉換為后綴表達式

  • 創(chuàng)建一個空棧和一個空串,用于存放運算符和轉換后的后綴表達式;
  • 從左到右遍歷中綴表達式中的每個元素:
  1. 如果當前元素是操作數(shù),將其添加到輸出串的末尾;

2.如果當前元素是左括號“(”,將其壓入棧中;

3.如果當前元素是右括號“)”,則重復出棧操作直到棧頂元素是左括號,并將所有操作符加入輸出串中;

4.如果當前元素是操作符,并且其優(yōu)先級低于或等于棧頂運算符,則彈出棧頂元素并將其加入輸出串中,然后再將當前操作符壓入棧中;

5.如果當前元素是操作符,并且其優(yōu)先級高于棧頂元素,則直接將當前操作符入棧。

  • 當中綴表達式中所有元素被處理完畢后,將棧中剩余的所有操作符都加入輸出串中。

最終得到的輸出串就是中綴表達式對應的后綴表達式


根據(jù)?乘號的優(yōu)先級,補充括號

拆解表達式:

  • 左側存放數(shù)據(jù),右側存放符號

  • 當遇到右括號時,將左右括號中的符號放到左側,剩下的符號依然在右側

  • 重復過程就得到了后綴表達式


后綴表達式,# 【c語言】數(shù)據(jù)結構,數(shù)據(jù)結構,開發(fā)語言,c++,c語言,筆記文章來源地址http://www.zghlxwxcb.cn/news/detail-743150.html

大家的點贊、收藏、關注將是我更新的最大動力! 歡迎留言或私信建議或問題。
大家的支持和反饋對我來說意義重大,我會繼續(xù)不斷努力提供有價值的內容!如果本文哪里有錯誤的地方還請大家多多指出(●'?'●)

到了這里,關于【數(shù)據(jù)結構】一篇文章帶你徹底學會《后綴表達式》的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 假期算法提升(一篇文章帶你徹底學會雙指針)

    假期算法提升(一篇文章帶你徹底學會雙指針)

    呀哈嘍,我是結衣。 對于要參加程序設計比賽的人來說,算法永遠都是一道繞不開的坎,你必須的去了解他才可以更好的去解決問題。非形式地說,算法就是任何良地計算過程,我們可以把算法看作是用于求良說明地計算問題地工具。那么今天我們學到的就是其中最基礎的一

    2024年02月19日
    瀏覽(26)
  • 【Spring框架】一篇文章帶你徹底搞懂Spring解決循環(huán)依賴的底層原理

    【Spring框架】一篇文章帶你徹底搞懂Spring解決循環(huán)依賴的底層原理

    目錄 一、前言 二、什么是循環(huán)依賴 三、Spring Bean 的循環(huán)依賴問題 3.1 Bean 的創(chuàng)建步驟 3.2 為什么 Spring Bean 會產生循環(huán)依賴問題? 3.3 什么情況下循環(huán)依賴可以被處理? 四、Spring 如何解決循環(huán)依賴問題? 4.0 什么是三級緩存 4.1 簡單的循環(huán)依賴(沒有AOP) 4.1.0 創(chuàng)建Bean的前期流

    2024年04月17日
    瀏覽(31)
  • ElasticSearch篇——認識、安裝和使用IK分詞器插件,一篇文章帶你徹底拿下!

    ElasticSearch篇——認識、安裝和使用IK分詞器插件,一篇文章帶你徹底拿下!

    一、什么是IK分詞器 所謂分詞,即把一段中文或者別的劃分成一個個的,我們在搜索時會把自己的信息進行分詞,會把數(shù)據(jù)庫中或者索引庫中的數(shù)據(jù)進行分詞,然后進行一個匹配的操作,默認的中文分詞器是將每一個字看成一個詞,比如“我愛中國”會被分成“我”、

    2024年02月03日
    瀏覽(29)
  • 數(shù)據(jù)結構入門(C語言版)一篇文章教會你手撕八大排序

    數(shù)據(jù)結構入門(C語言版)一篇文章教會你手撕八大排序

    排序 :所謂排序,就是使一串記錄,按照其中的某個或某些的大小,遞增或遞減的排列起來的操作。 穩(wěn)定性 :假定在待排序的記錄序列中,存在多個具有相同的的記錄,若經過排序,這些記錄的相對次序保持不變,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而

    2024年02月01日
    瀏覽(22)
  • 【數(shù)據(jù)結構】什么是時間復雜度、空間復雜度?看此篇文章足矣

    【數(shù)據(jù)結構】什么是時間復雜度、空間復雜度?看此篇文章足矣

    ?????作者: @情話0.0 ??專欄:《數(shù)據(jù)結構》 ??個人簡介:一名雙非研究生的編程菜鳥,在這里分享自己的編程學習筆記,歡迎大家的指正與點贊,謝謝! 在數(shù)據(jù)結構中,有著眾多的算法,比如查找算法,排序算法等。在查找算法中有順序查找、折半查找、分塊查找等,

    2023年04月08日
    瀏覽(22)
  • 【數(shù)據(jù)結構——順序表】線性表很難嘛?這篇文章能讓你輕松掌握順序表

    【數(shù)據(jù)結構——順序表】線性表很難嘛?這篇文章能讓你輕松掌握順序表

    線性表是一種在實際中廣泛使用的數(shù)據(jù)結構,常見的線性表:順序表、鏈表、棧、隊列、字符串…。線性表在邏輯上是線性結構,也就是說是連續(xù)的一條直線。但是在物理結構上并不一定是連續(xù)的,線性表在物理上存儲時,通常以數(shù)組和鏈式的結構的形式存儲。 是n個具有相

    2024年02月07日
    瀏覽(30)
  • 一篇文章帶你了解SpringBoot目錄結構

    一篇文章帶你了解SpringBoot目錄結構

    前言 SpringBoot是整合Spring技術棧的一站式框架,是簡化Spring技術棧的快速開發(fā)腳手架,是一個能夠快速構建生產級別的Spring應用的工具。SpringBoot是目前流行的微服務框架,倡導“約定優(yōu)于配置”,簡化Spring項目搭建及開發(fā)過程。springboot提供了很多核心的功能,比如自動化配置

    2024年03月25日
    瀏覽(90)
  • 一篇文章帶你玩轉PostGIS空間數(shù)據(jù)庫

    一篇文章帶你玩轉PostGIS空間數(shù)據(jù)庫

    1.什么是空間數(shù)據(jù)庫 人類理解世界其實是按照三維的角度,而傳統(tǒng)的關系型數(shù)據(jù)庫是二維的,要想描述空間地理位置,點、線、面,我們就需要一個三維數(shù)據(jù)庫,即所謂空間數(shù)據(jù)庫。 postGIS就是一個空間數(shù)據(jù)庫。 2.空間數(shù)據(jù)庫是怎么存儲的 除了普通數(shù)據(jù)庫所具備的字符串、數(shù)

    2024年04月10日
    瀏覽(28)
  • 【TDengine】一篇文章帶你通過docker安裝TDengine數(shù)據(jù)庫

    【TDengine】一篇文章帶你通過docker安裝TDengine數(shù)據(jù)庫

    目錄 1、通過docker方式安裝 2、相關步驟解釋 3、停止運行taos與卸載 雖然并不推薦在生產環(huán)境中通過 Docker 來部署 TDengine 服務,但 Docker 工具能夠很好地屏蔽底層操作系統(tǒng)的環(huán)境差異,很適合在開發(fā)測試或初次體驗時用于安裝運行 TDengine 的工具集。特別是,借助 Docker,能夠比

    2024年02月15日
    瀏覽(23)
  • 一篇文章徹底清楚shellcode(精品)

    一篇文章徹底清楚shellcode(精品)

    1.沒開沙箱(此時我們可以系統(tǒng)調用get shell) (一)32位程序系統(tǒng)調用 32位程序有別于64位程序,32位通過棧傳參,我們常用的寄存器有4個數(shù)據(jù)寄存器(eax,ebx,ecx,edx),2個變址寄存器(esi,edi),2個指針寄存器(esp,ebp). 下邊我們就來看一種系統(tǒng)調用方式及其構造: 執(zhí)行上述shellcode即可g

    2024年02月09日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包