1.中序遍歷遞歸算法的定義;
如果二叉樹不為空,則依次執行以下操作:
(1)遍歷左子樹;
(2)訪問根節點;
(3)遍歷右邊的子樹。
2.前序遍歷遞歸算法的定義:
如果二叉樹不為空,則依次執行以下操作:
(1)訪問根節點;
(2)遍歷左子樹;
(3)遍歷右邊的子樹。
3.後序遍歷遞歸算法的定義;
如果二叉樹不為空,則依次執行以下操作:
(1)遍歷左子樹;
(2)遍歷右邊的子樹;
(3)訪問根節點。
比如妳知道壹個程序的前序遍歷是ABCDEFG,前序遍歷是CBDAEGF,這就可以讓妳計算出後序遍歷。
因為優先遍歷的順序是根-左-右,那麽我們看優先遍歷ABCDEFG,那麽A就是根。
看CBDAEGF的midorder遍歷。根據midorder遍歷的左根右,可以看出A左邊的CBD都是左子樹,右邊的EGF是左子樹。
然後將前序遍歷分為A/BCD/EFG。
對於左子樹CBD,從前序遍歷中的A/BCD/EFG可以看出,B在BCD的前面,B是左子樹的根,C是下壹行的左子樹。
同樣,我們可以分析EFG。
然後畫壹幅畫。
/ \
英國工程學院
/\ \
成本加運費
/
G
然後,後序列遍歷CDBGFEA
壹開始我也學了壹段時間。很迂回,對吧?
我在這裏寫了很久了。不知道妳能不能理解。
不加我q。