日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

十八、二叉树遍历序列还原

發(fā)布時(shí)間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十八、二叉树遍历序列还原 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

十八、二叉樹(shù)遍歷序列還原

文章目錄

  • 十八、二叉樹(shù)遍歷序列還原
    • 題目描述
    • 解題思路
    • 上機(jī)代碼

題目描述

給出二叉樹(shù)的中序遍歷序列和后序遍歷序列,編程還原該二叉樹(shù)。

輸入:

?第1行為二叉樹(shù)的中序遍歷序列
第2行為二叉樹(shù)的后序遍歷序列

輸出:

二叉樹(shù)的按層遍歷序列

測(cè)試輸入期待的輸出時(shí)間限制內(nèi)存限制額外進(jìn)程
測(cè)試用例 1badcfeg
bdfgeca
abcdefg1秒64M0
測(cè)試用例 2cbdafeg
cbdfgea
adebfgc1秒64M0
測(cè)試用例 3edcba
edcba
abcde1秒64M0
測(cè)試用例 4bdfgeca
gfedcba
abcdefg1秒64M0

解題思路

由后序序列的遍歷方式可知,后序序列的最后一個(gè)結(jié)點(diǎn)一定是二叉樹(shù)的根結(jié)點(diǎn)。通過(guò)找到根結(jié)點(diǎn)在中序序列中的位置,可以將中序序列分成左右兩個(gè)序列,左側(cè)序列是根結(jié)點(diǎn)的左子樹(shù)的中序序列,右側(cè)序列是根結(jié)點(diǎn)右子樹(shù)的中序序列。

對(duì)于根結(jié)點(diǎn)左子樹(shù)的遍歷來(lái)說(shuō),不管是中序遍歷還是后序遍歷,因?yàn)榻Y(jié)點(diǎn)數(shù)的相同的,遍歷結(jié)果的長(zhǎng)度也一定相同。可以根據(jù)根結(jié)點(diǎn)左子樹(shù)的中序遍歷序列的長(zhǎng)度,得到后序序列中根結(jié)點(diǎn)左子樹(shù)的后序序列。對(duì)根結(jié)點(diǎn)的右子樹(shù)同理,可以得到后序序列中根結(jié)點(diǎn)右子樹(shù)的后序序列。

這樣,根結(jié)點(diǎn)左右子樹(shù)的中序和后序遍歷序列都一一對(duì)應(yīng)了起來(lái),采用遞歸的方式即可將整個(gè)二叉樹(shù)的關(guān)系搞清楚,并建立起二叉樹(shù)。


對(duì)測(cè)試用例 2 進(jìn)行說(shuō)明

后序序列 cbdfgea 可以知道根結(jié)點(diǎn)為 a,從而將中序序列分為 cbd、feg,即根結(jié)點(diǎn)的左右子樹(shù)的中序遍歷序列。根節(jié)點(diǎn)的左子樹(shù)的長(zhǎng)度為3,可以得到后序序列中的 cbd 為根結(jié)點(diǎn)左子樹(shù)的后序序列。同理 fge是根結(jié)點(diǎn)右子樹(shù)的后序序列。

將中序序列 cbd 和后序序列 cbd 結(jié)合,中序序列 feg 和后序序列 fge 結(jié)合,可以分別求出根結(jié)點(diǎn)的左右子樹(shù)的根結(jié)點(diǎn),這樣遞歸求解下來(lái),就可以得到整個(gè)二叉樹(shù)的關(guān)系了。

上機(jī)代碼

#include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<queue> #include<vector> #include<algorithm> using namespace std; typedef struct BiTNode {char data;struct BiTNode *lchild;struct BiTNode *rchild; }BiTNode,*BiTree;//找到根結(jié)點(diǎn)在序列中的位置 int find(char index, char *array, int len)//待查找的根結(jié)點(diǎn),查找序列,序列長(zhǎng)度 {for (int i = 0; i < len; i++){if (array[i] == index)return i;} } //遞歸建立二叉樹(shù) BiTree BuildBiTree(char *center, char *last, int len)//中序序列、后序序列、序列長(zhǎng)度 {if (len <= 0)return NULL;BiTree T = new BiTNode;T->data = last[len - 1];//后序序列的最后結(jié)點(diǎn)一定是根結(jié)點(diǎn)int root = find(last[len - 1], center, len);//找到根結(jié)點(diǎn)在中序序列中的位置//根據(jù)拆分的序列遞歸建樹(shù)T->lchild = BuildBiTree(center, last, root);T->rchild = BuildBiTree(center + root + 1, last + root, len - root - 1);return T; } void bfs(BiTree T) //利用隊(duì)列進(jìn)行層次遍歷 {BiTree tmp = (BiTree)malloc(sizeof(BiTNode));queue<BiTree>q;q.push(T);while (!q.empty()){tmp = q.front();cout << tmp->data;q.pop();if (tmp->lchild != NULL)q.push(tmp->lchild);if (tmp->rchild != NULL)q.push(tmp->rchild);}cout << endl; } int main() {char *inorder = new char[105]; //中序序列char *postorder = new char[105]; //后序序列int len = 0;BiTree bit = (BiTree)malloc(sizeof(BiTNode));//根據(jù)輸入序列建樹(shù)cin >> inorder >> postorder;len = strlen(postorder);bit = BuildBiTree(inorder, postorder, len);//輸出層次序列bfs(bit);return 0; }

總結(jié)

以上是生活随笔為你收集整理的十八、二叉树遍历序列还原的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久美女 | 欧美精品成人一区二区在线观看 | 一区二区日韩国产 | 亚洲精品国产91 | 少妇搡bbbb搡bbb搡打电话 | 狠狠干2022| 成人激情视频 | 人妻少妇精品视频一区二区三区 | 打开免费观看视频在线 | 99国产精 | 有码中文字幕 | 日韩欧美在线观看一区二区 | 亚洲 激情 小说 另类 欧美 | 国产做受网站 | 欧美日韩123| videosex抽搐痉挛高潮 | 女人久久久久 | 青青草原av | 国偷自产视频一区二区久 | 国产区第一页 | 在线一区二区三区四区 | 色哟哟在线观看 | 老牛影视av一区二区在线观看 | 在线看av网址 | 四川丰满少妇被弄到高潮 | 国产伦精品一区二区三区视频女 | 日本人妻一区 | 久久综合一区二区 | 欧美性猛交xxxx黑人 | 免费看a视频 | 亚洲另类色图 | 国产精品自拍小视频 | 糖心vlog精品一区二区 | 久色资源 | 天天影视综合 | 国产欧美一区二区精品性色超碰 | 国产精品色在线 | 精品久久国产视频 | 亚洲午夜福利一区二区三区 | 成人欧美性 | 国产内谢| 日本午夜在线 | 国产成年人网站 | 亚洲AV无码成人精品区先锋 | 欧洲av在线播放 | 国产成人亚洲精品自产在线 | 日韩porn| 日韩精品人妻一区二区中文字幕 | 亚洲人成小说 | 国内精品一区二区 | 好吊妞这里只有精品 | 香蕉久久国产av一区二区 | 国产福利在线看 | 国产午夜麻豆影院在线观看 | 黄色网页在线 | 欧美性极品少妇xxxx | 欧美日韩免费做爰视频 | 美女又爽又黄又免费 | 色干干| 日韩欧美在线不卡 | 欧美极品视频在线观看 | 手机在线看片福利 | 五月婷婷在线观看 | 天天狠天天透 | 亚洲国产成人在线 | 性欧美丰满熟妇xxxx性久久久 | 亚洲精品国产一区二区 | 丁香六月激情综合 | 久久亚洲AV成人无码一二三 | 国产精品久久亚洲 | 伊人网在线免费观看 | wwwxxx亚洲| 久久久免费电影 | av狠狠| 国产午夜福利100集发布 | 麻豆精品在线视频 | 可以在线看的av | 中国精品视频 | 六月丁香色婷婷 | 精精国产xxxx视频在线播放 | 午夜精品剧场 | 久久午夜剧场 | 日韩黄色精品视频 | 看片网址国产福利av中文字幕 | 天天舔天天操天天干 | 欧美一区二区三区视频 | 国产精品伦理一区 | 九九九九精品九九九九 | 国产在成人精品线拍偷自揄拍 | 成人av网址在线观看 | 中文字幕日韩一区二区 | 日日狠狠 | 国产香蕉精品视频 | 五月婷婷开心中文字幕 | www.国产com| 午夜丁香网 | 亚洲免费网站在线观看 | 人人做人人爱人人爽 | 国产精品12页 |