由樹的中序和先序遍歷得到原來的樹

2021-06-03 08:34:17 字數 522 閱讀 7335

先序遍歷的意義:任何乙個節點的父節點都早於他遍歷。

中序遍歷的意義:任何乙個節點都晚於左子樹上的節點早於右子樹上的節點被遍歷。

in.txt   第一行是表示有多少個節點

6

1 2 3 4 5 6

2 1 5 4 3 6

程式:獲得原來的樹放在tab表中 root 的左右孩子分別是 2*root 和 2*root +1 

#include#include#include#includeusing namespace std;

int root=1;

int a[20],_a[20],b[20],_b[20],tab[200];

int getpos(int *tab,int v)

void build(int len)

if(!_b[pos+1])

}void show_first(int root)

{ if(!tab[root])return;

cout<

樹的遍歷(中序 先序 後續)

先序遍歷 也叫做先根遍歷 前序遍歷 可記做根左右 二叉樹父結點向下先左後右 首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹,如果二叉樹為空則返回。例如上樹的遍歷順序是a bd e c f 中序遍歷 ldr 是 二叉樹遍歷 的一種,也...

樹 先序中序後序遍歷

題目分析 題目描述 description 求一棵二叉樹的前序遍歷,中序遍歷和後序遍歷 輸入描述 input description 第一行乙個整數n,表示這棵樹的節點個數。接下來n行每行2個整數l和r。第i行的兩個整數li和ri代表編號為i的節點的左兒子編號和右兒子編號。輸出描述 output d...

樹的遍歷 先序遍歷 中序遍歷 後序遍歷

名詞解釋 1 每個元素稱為節點 2 有乙個特定的節點被稱為根節點或樹根 3 除根節點外的其餘資料元素被分為m個互不相交的集合t1,t2,t3.tm 1,其中每乙個集合ti本身也是乙個樹,被稱作原樹的子樹 節點的度 乙個節點含有子樹的個數稱為該節點的度 葉節點或終端節點 度為0的節點稱為葉節點 非終端...