當前位置:編程學習大全網 - 編程軟體 - 二叉樹,如何從兩種遍歷的結果推導出另壹種遍歷?該方法簡單而詳細。請註意,它不是壹個編程解決方案。

二叉樹,如何從兩種遍歷的結果推導出另壹種遍歷?該方法簡單而詳細。請註意,它不是壹個編程解決方案。

這個問題其實很簡單。我們去年考試的時候拿到的。

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。

  • 上一篇:上班摸魚可以提升自己嗎?
  • 下一篇:怎麽統計該學前班該上壹年級的學生
  • copyright 2024編程學習大全網