根據中序和層序建立二叉樹

2021-10-08 10:46:34 字數 1380 閱讀 9485

題目描述:給出乙個n,表示結點數,然後第二行給出層序遍歷,第三行給出中序遍歷,求該樹的前序遍歷。樣例:

7

3 5 4 2 6 7 1

2 5 3 6 4 7 1

首先我們可以根據層序的最前面的結點找到根結點,然後下乙個結點所在的位置與中序中的位置有關。例如:由層序知根結點是3,然後5是3的子結點。因為在中序中5在3的左邊,所以5是3的左結點。

然後層序的下乙個結點是4,在中序中4在3的右邊

下乙個結點是2,中序中2在5的左邊:

層序下乙個是6,中序中6在3的右邊,在4的左邊:

接下來的兩個也是相同的辦法:

建立二叉樹,層序 先序遍歷

要求能夠輸入樹的各個結點,並能夠輸出用不同方法遍歷的遍歷序列 分別建立建立二叉樹儲存結構的的輸入函式 輸出層序遍歷序列的函式 輸出先序遍歷序列的函式 源 include include define max 20 typedef char telemtype typedef int status t...

根據先序遍歷和中序遍歷建立二叉樹

先序遍歷的順序是根左右,中序遍歷的順序是左根右。根據這一特性,先序遍歷的第乙個元素肯定是根節點。所以我們只要在中序遍歷中找到該根節點的值,根節點以左就是它的左子樹,根節點以右就是它的右子樹,然後就可以遞迴的方式建立二叉樹 假設現在有一顆二叉樹如下 先序序列為 18,14,7,3,11,22,35,2...

根據二叉樹的先序遍歷和中序遍歷建立二叉樹

根據二叉樹的先序遍歷和中序遍歷建立二叉樹 rebacktree 根據二叉樹的先序遍歷和中序遍歷建立二叉樹。rebacktree1 根據二叉樹的後序序遍歷和中序遍歷建立二叉樹。include stdio.h include stdlib.h typedef struct node node,nodep...