二叉樹的遍歷

二叉樹是由3個(gè)基本單元組成:根節(jié)點(diǎn)、左子樹和右子樹。因此,若能依次遍歷這三部分,便是遍歷了整個(gè)二叉樹。假如以L、D、R分別表示遍歷左子樹、訪問根節(jié)點(diǎn)和遍歷右子樹,則可以有DLR、LDR、LRD、DRL、RDL、RLD這6種遍歷二叉樹的方案。若限定先左后右,則只有前3種情況,分別稱之為先(根)序遍歷、中(根)序遍歷后(根)序遍歷。
下面通過一個(gè)例子來講解,現(xiàn)有一個(gè)表達(dá)式:a + b * (c - d) - e / f,則該表達(dá)式可表示為如下二叉樹:

則對(duì)其進(jìn)行遍歷

  • 先序遍歷結(jié)果為:-+a*b-cd/ef。
  • 中序遍歷結(jié)果為:a+b*c-d-e/f
  • 后序遍歷結(jié)果為:abcd-*+ef/-。

從表達(dá)式來看,以上三個(gè)序列恰好為表達(dá)式的前綴表示(波蘭式)、中綴表示后綴表示(逆波蘭式)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • C語言是面向過程的,而C++是面向?qū)ο蟮?C和C++的區(qū)別: C是一個(gè)結(jié)構(gòu)化語言,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)。C程...
    小辰帶你看世界閱讀 1,224評(píng)論 0 5
  • -先序遍歷: 訪問根結(jié)點(diǎn),先序遍歷其左子樹,先序遍歷其右子樹;運(yùn)用到遞歸void PreOrderTraversa...
    Spicy_Crayfish閱讀 2,128評(píng)論 0 0
  • 樹(tree)是一種抽象數(shù)據(jù)類型(ADT)或是實(shí)作這種抽象數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu),用來模擬具有樹狀結(jié)構(gòu)性質(zhì)的數(shù)據(jù)集合。...
    曾大穩(wěn)丶閱讀 1,132評(píng)論 0 1
  • 本節(jié)主要介紹如何根據(jù)二叉樹的遍歷序列還原二叉樹 1.根據(jù)前序遍歷序列ABCDEF和中序遍歷序列CBAEDF如何判斷...
    wlj1107閱讀 555評(píng)論 0 0
  • 上次說了《俗物與天才》,其實(shí)這塞德茲是根據(jù)《卡爾威特的教育》里面講述的方法培養(yǎng)小塞德茲的,我手上的這一套文集里面剛...
    李植聰閱讀 1,304評(píng)論 0 1

友情鏈接更多精彩內(nèi)容