二叉樹(shù)遍歷過(guò)程看不懂 怎么遍歷二叉樹(shù)?
怎么遍歷二叉樹(shù)?二叉樹(shù)是一種非常重要的數(shù)據(jù)結(jié)構(gòu),它的應(yīng)用非常廣泛,并且通過(guò)他的改進(jìn)產(chǎn)生了很多重要的樹(shù)數(shù)據(jù)結(jié)構(gòu),如紅黑樹(shù)、堆等,應(yīng)用價(jià)值很高,經(jīng)過(guò)深入的研究會(huì)有經(jīng)驗(yàn),因此,掌握其基本特性和遍歷方法是基礎(chǔ)
怎么遍歷二叉樹(shù)?
二叉樹(shù)是一種非常重要的數(shù)據(jù)結(jié)構(gòu),它的應(yīng)用非常廣泛,并且通過(guò)他的改進(jìn)產(chǎn)生了很多重要的樹(shù)數(shù)據(jù)結(jié)構(gòu),如紅黑樹(shù)、堆等,應(yīng)用價(jià)值很高,經(jīng)過(guò)深入的研究會(huì)有經(jīng)驗(yàn),因此,掌握其基本特性和遍歷方法是基礎(chǔ)在學(xué)習(xí)后續(xù)的數(shù)據(jù)結(jié)構(gòu)時(shí),理論上我們實(shí)際上看到的是二叉樹(shù)我們可以通過(guò)自己畫的圖片來(lái)總結(jié)二叉樹(shù)的形狀,但是對(duì)于初學(xué)者來(lái)說(shuō)理解代碼實(shí)現(xiàn)并不容易。樹(shù)遍歷使用遞歸的思想。遞歸的本質(zhì)就是循環(huán)和方法調(diào)整。因此,理解二叉樹(shù)遍歷的代碼實(shí)現(xiàn)最好的方法就是根據(jù)它的遍歷思想畫出自己的圖,一步一步地遍歷,先想想遍歷的過(guò)程,然后根據(jù)遞歸的思想,就可以很容易地找出什么時(shí)候調(diào)整什么方法,有必要花更多的時(shí)間。首先需要了解堆棧的操作和意義,還需要了解遍歷二叉樹(shù)的思想。有人用節(jié)點(diǎn)著色來(lái)編寫非遞歸算法,即黑、灰、白三種顏色代表節(jié)點(diǎn)的狀態(tài),未被訪問(wèn)的節(jié)點(diǎn)為白色,未被訪問(wèn)的節(jié)點(diǎn)為灰色,被訪問(wèn)的節(jié)點(diǎn)為黑色。對(duì)于中間順序遍歷,除非訪問(wèn)了左子樹(shù),否則需要訪問(wèn)當(dāng)前節(jié)點(diǎn),所以依次沿左子樹(shù)搜索,找到葉子后訪問(wèn),然后退出右堆棧上的元素,并在右子樹(shù)上執(zhí)行相應(yīng)的操作,直到堆棧為空。