最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

DFA實現(xiàn)迭代遍歷二叉樹(前、中、后)

2022-11-28 23:35 作者:L__B_  | 我要投稿

狀態(tài)機過程詳解

我們定義三個狀態(tài):

  1. LEFT狀態(tài):代表左右子樹均未被遍歷

  2. RIGHT狀態(tài):代表左子樹被遍歷

  3. UP狀態(tài):代表左右子樹都被遍歷過

注意還需要一個棧用于存儲遍歷路徑,方便拿取父節(jié)點。

  • 實現(xiàn)了這個迭代過程后,我們發(fā)現(xiàn),實際上LEFT狀態(tài)就是前序遍歷的操作狀態(tài),RIGHT狀態(tài)就是中序遍歷的操作狀態(tài),UP狀態(tài)就是后序遍歷的操作狀態(tài),自此用迭代實現(xiàn)了遞歸的完全模擬。

畫出狀態(tài)轉(zhuǎn)移圖

狀態(tài)轉(zhuǎn)移

(前序遍歷代碼)代碼

這里只展示前序遍歷的代碼,中序和后序也很簡單,直接在對應(yīng)的狀態(tài)取數(shù)值即可。

驗證代碼可以到leetcode平臺:https://leetcode.cn/problems/binary-tree-preorder-traversal/submissions


DFA實現(xiàn)迭代遍歷二叉樹(前、中、后)的評論 (共 條)

分享到微博請遵守國家法律
梨树县| 萨嘎县| 云霄县| 遵义市| 宽甸| 靖江市| 郯城县| 三门峡市| 大兴区| 陇川县| 大同市| 韶山市| 平定县| 林西县| 铜陵市| 博野县| 肇州县| 巩留县| 新巴尔虎左旗| 富阳市| 博湖县| 泰宁县| 武山县| 杭锦旗| 阆中市| 中卫市| 肥乡县| 昌平区| 张家界市| 琼海市| 安远县| 临沧市| 德令哈市| 高雄县| 库尔勒市| 婺源县| 齐河县| 龙州县| 丰顺县| 蓬莱市| 喀喇|