国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

后序遍歷非遞歸實現(xiàn) 求一個二叉樹的后序遍歷非遞歸算法?

求一個二叉樹的后序遍歷非遞歸算法?二叉樹可以通過后序和中序遍歷進(jìn)行恢復(fù),以方便其他樹的操作。在這里,我們先恢復(fù)二叉樹,然后進(jìn)行預(yù)序遍歷,得到預(yù)序遍歷的結(jié)果。我們同意恢復(fù)樹的函數(shù)稱為restoretre

求一個二叉樹的后序遍歷非遞歸算法?

二叉樹可以通過后序和中序遍歷進(jìn)行恢復(fù),以方便其他樹的操作。在這里,我們先恢復(fù)二叉樹,然后進(jìn)行預(yù)序遍歷,得到預(yù)序遍歷的結(jié)果。我們同意恢復(fù)樹的函數(shù)稱為restoretree()。恢復(fù)左右子樹時,需要計算它們的位置,即H1、H2和Z1、Z2的值需要重新計算,并在更新后傳遞給restoretree()函數(shù)。以左子樹的構(gòu)造為例,左子樹的第一個元素下標(biāo)為Z1,最后一個元素下標(biāo)為I-1,H1的對應(yīng)值為H1,H2的值為H1(I-Z1-1),即H1的當(dāng)前位置向前移動I-Z1-1長度。R代碼實現(xiàn)以實現(xiàn)前面提到的字母序列為例,因為當(dāng)代碼恢復(fù)樹時,它首先恢復(fù)根節(jié)點,然后訪問樹的左、右子樹,所以恢復(fù)過程也相當(dāng)于根優(yōu)先遍歷過程。如果只想先遍歷找到根,就不能構(gòu)建樹。我們可以刪除根優(yōu)先遍歷函數(shù)并簡化其他一些語句,這兩段代碼的結(jié)果是相同的。以下是示例輸入和輸出。這里的代碼擴展添加了一段代碼,它使用前序遍歷和中序遍歷來恢復(fù)二叉樹并進(jìn)行后序遍歷。R代碼可以像以前一樣簡化。簡化后,無需建樹即可遍歷。這很正常。有必要多花點時間。首先需要了解堆棧的操作和意義,還需要了解遍歷二叉樹的思想。有人用節(jié)點著色來編寫非遞歸算法,即黑、灰、白三種顏色代表節(jié)點的狀態(tài),未被訪問的節(jié)點為白色,未被訪問的節(jié)點為灰色,被訪問的節(jié)點為黑色。對于中間順序遍歷,除非訪問了左子樹,否則需要訪問當(dāng)前節(jié)點,所以依次沿左子樹搜索,找到葉子后訪問,然后退出右堆棧上的元素,并在右子樹上執(zhí)行相應(yīng)的操作,直到堆棧為空。