分別由先序與中序以及中序和後序來恢復二叉樹

2021-08-31 21:26:18 字數 714 閱讀 5816

通過先序和中序:

void

preinod

(char preod,

int i,

int j,

char inod,

int k,

int h,bitree *t)

2.通過後序和中序

void

inpostod

(char postod,

int i,

int j,

char inod,

int k,

int h,bitree *t)

3.順便總結一下我們老師出的一道題:通過後續和中序來列印乙個二叉樹,要求恢復成滿二叉樹後列印。

void

levelorder

(bitree bt,

int h)

//h為深度

else

if(queue[front]

->rchild!=null&&queue[front]

!=null)

else

}}

來總結一下:

1)當為空的時候,就新建乙個,將其中的數值域賦值為字元0.(如果不新建,下次從他開始找的時候,它是不存在的),洗澡的時候突然有的想法,也是很奇葩。。。

後序 中序 》先序

已知後序與中序輸出前序 先序 後序 3,4,2,6,5,1 左右根 中序 3,2,4,1,6,5 左根右 分析 因為後序的最後乙個總是根結點,令i在中序中找到該根結點,則i把中序分為兩部分,左邊是左子樹,右邊是右子樹。因為是輸出先序 根左右 所以先列印出當前根結點,然後列印左子樹,再列印右子樹。左子...

已知先序和中序求後序或中序和後序求先序

首先介紹樹的三種遍歷方式的遍歷順序 先序遍歷 根 左子樹 右子樹 特點 第乙個元素為根 中序遍歷 左子樹 根 右子樹 特點 根的兩邊分別為左子樹和右子樹 後序遍歷 左子樹 右子樹 根 特點 最後乙個元素為根 有如下圖的二叉樹 其先序 中序 後序遍歷分別為 dbacegf abcdefg acbfge...

樹的先序 中序 推後序, 後序 中序 推先序

根據中序遍歷 先序遍歷構建 輸出後序遍歷 後序遍歷為左右根 遞迴的返回條件中序遍歷中 左子樹和右子樹 過i將中序遍歷中的樹分為左子樹和右子樹 i為中序遍歷的根節點 需要輸出的結點 每棵樹都是自己 的根結點 2.確定左子樹的start,與 end範圍,同時通過先序陣列找到此時的根節點 上乙個根結點 1...