非遞歸的遍歷方式

現(xiàn)在有一顆二叉樹(shù)

我們將每個(gè)節(jié)點(diǎn)看做一個(gè)根節(jié)點(diǎn),并對(duì)其進(jìn)行前序遍歷,可以得到

ABC ? ? ? BDE ? ? ?D ? ? ? E ? ? ?CF ? ? F

可以發(fā)現(xiàn),每個(gè)節(jié)點(diǎn)都出現(xiàn)了兩次,可以認(rèn)為是相鄰節(jié)點(diǎn),我們按照順序進(jìn)行組合,比如ABC和BDE,因?yàn)镈E是以B為根節(jié)點(diǎn)遍歷出來(lái)的,所以?xún)?yōu)先和B組合,就可以得到ABDEC,將只有一個(gè)節(jié)點(diǎn)的排除,那么我們得到ABDECF這就是前序遍歷。

如果我們對(duì)其進(jìn)行中序遍歷,可以得到

BAC ? ? DBE ? ? ?D ? ? ?E ? ? ?CF ? ? F

同樣的組合,可以得到DBEACF。

其實(shí)這個(gè)規(guī)律,是參考局部的排序能夠保證整體的排序方式,所以我們需要對(duì)每個(gè)節(jié)點(diǎn)進(jìn)行相應(yīng)的遍歷操作(進(jìn)行入棧),當(dāng)?shù)诙斡龅皆摴?jié)點(diǎn),就可以入隊(duì)列了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 樹(shù)的概述 樹(shù)是一種非常常用的數(shù)據(jù)結(jié)構(gòu),樹(shù)與前面介紹的線(xiàn)性表,棧,隊(duì)列等線(xiàn)性結(jié)構(gòu)不同,樹(shù)是一種非線(xiàn)性結(jié)構(gòu) 1.樹(shù)的定...
    Jack921閱讀 4,480評(píng)論 1 31
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,760評(píng)論 18 399
  • 1 序 2016年6月25日夜,帝都,天下著大雨,拖著行李箱和同學(xué)在校門(mén)口照了最后一張合照,搬離寢室打車(chē)去了提前租...
    RichardJieChen閱讀 5,152評(píng)論 0 12
  • 第一章 緒論 什么是數(shù)據(jù)結(jié)構(gòu)? 數(shù)據(jù)結(jié)構(gòu)的定義:數(shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。 第二章...
    SeanCheney閱讀 5,821評(píng)論 0 19
  • 秋日的陽(yáng)光柔柔地鋪滿(mǎn)教學(xué)樓的走廊,不急不躁,溫暖襲人。 模擬考試后某班的第一節(jié)課前,董同學(xué)跑過(guò)來(lái)告訴我:''老師,...
    然依紫閱讀 303評(píng)論 6 14