国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)之二叉樹四:還原二叉樹

2019-11-08 19:31:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)之二叉樹四:還原二叉樹 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic PRoblem Description

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計(jì)算該二叉樹的高度。 Input

輸入數(shù)據(jù)有多組,每組數(shù)據(jù)第一行輸入1個(gè)正整數(shù)N(1 <= N <= 50)為樹中結(jié)點(diǎn)總數(shù),隨后2行先后給出先序和中序遍歷序列,均是長(zhǎng)度為N的不包含重復(fù)英文字母(區(qū)分大小寫)的字符串。 Output

輸出一個(gè)整數(shù),即該二叉樹的高度。 Example Input

9 ABDFGHIEC FDHGIBEAC Example Output

5 Hint

大言不慚的說(shuō)說(shuō)水題。。雖然做的過(guò)程并不一帆風(fēng)順

#include <stdio.h>#include <stdlib.h>typedef struct node{ char data; struct node *l,*r;}node;node *create(int len,char *pre,char *in)//老套路了,知道先序和中序搞出整棵樹{ int i; node *root; if(len<=0) return NULL; else{ root = (node *)malloc(sizeof(struct node)); char x = pre[0]; root->data = x; for(i=0; i<len; i++){ if(in[i]==x) break; } root->l = create(i,pre+1,in); root->r = create(len-i-1,pre+i+1,in+i+1); } return root;}int deep(node *root)//求深度的話,就看左右子樹哪個(gè)更深就返回哪個(gè)的深度,最后加個(gè)1就是整棵樹的深度了{(lán) int d = 1; if(root){ int dl = deep(root->l); int dr = deep(root->r); d = dl>dr?dl+1:dr+1; } else return 0;//一定到最后沒有左右子樹的話要返回0,這樣就不會(huì)又加1了 return d;}int main(){ int len; char pre[100],in[100]; while(~scanf("%d",&len)){ scanf("%s %s",pre,in); node *root = create(len,pre,in); printf("%d/n",deep(root)); } return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳原县| 武安市| 苏州市| 会理县| 江安县| 大安市| 绥江县| 北京市| 古田县| 陕西省| 苏尼特左旗| 洮南市| 乐山市| 长子县| 松溪县| 津市市| 滦平县| 沐川县| 六盘水市| 塔城市| 杂多县| 古蔺县| 都江堰市| 衡南县| 酒泉市| 衡阳市| 望奎县| 原阳县| 怀安县| 扎赉特旗| 沂南县| 桃园市| 阜城县| 桐乡市| 山阴县| 洱源县| 丰台区| 临泉县| 施秉县| 六安市| 龙口市|