二叉樹已知先序遍歷和中序遍歷得到後序遍歷

2021-07-04 17:09:03 字數 363 閱讀 9439

已經乙個二叉樹先序遍歷acdefhgb,中序遍歷decahfbg,求後序遍歷?

先序遍歷 (1)訪問根節點(2)先序遍歷左子樹(3)先序遍歷右子樹

中序遍歷 (1)中序遍歷左子樹(2)訪問根節點(3)中序遍歷右子樹

後序遍歷 (1)後序遍歷左子樹(2)後序遍歷右子樹(3)訪問根節點

解題思路

首先看先序遍歷得知a是根節點,由中序遍歷得到dec在a的左半部分,hfbg在a的右半部分。c為左邊的根節點,f為右邊的根節點。利用遞迴的思想,重複上面的步驟得到二叉樹的圖為:

後序遍歷為edchbgfa

已知中序遍歷和先序遍歷重建二叉樹

main.cpp constructbinarytree created by bazinga on 2017 3 12.根據前序遍歷和中序遍歷求二叉樹的結構 已知前序遍歷的第乙個值為根節點 而根節點在中序遍歷中的位置就能確定他的左右子樹。然後對區分開的左右子樹進行遞迴。include includ...

已知二叉樹先序遍歷中序遍歷求後序遍歷

思路簡介 先序遍歷中第乙個字母即為根節點,在中序遍歷中找到根節點的位置 把中序遍歷的字串序列從根節點分成兩部分,左側一部分構建左子樹,右側一部分構建右子樹 在 的基礎上在先序遍歷中也找到構建左右子樹的部分 遞迴還原二叉樹 後序遍歷輸出即可 include include using namespac...

二叉樹 已知先序遍歷 中序遍歷,求後序遍歷

步驟 1.確定樹的根結點 樹根是在先序遍歷中最先出現的元素,即先序遍歷的第乙個結點是二叉樹的根。2.求解樹的子樹 找到根在中序遍歷的位置,位置左邊是二叉樹的左孩子,右邊是右孩子,若根結點的左邊或右邊為空,則該方向子樹為空 若左右子樹都為空,則該結點是葉子節點。3.對二叉樹的左右孩子分別進行步驟1,2...