国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 宜宾县| 恩平市| 青龙| 邵武市| 乐昌市| 镇原县| 延庆县| 怀化市| 东光县| 克什克腾旗| 扎赉特旗| 芦山县| 商都县| 怀来县| 桐城市| 海南省| 镶黄旗| 磐石市| 敖汉旗| 吉木乃县| 平谷区| 镇雄县| 九寨沟县| 德阳市| 达拉特旗| 九江县| 沽源县| 民丰县| 峨山| 临武县| 乐至县| 司法| 武平县| 容城县| 桐柏县| 吉水县| 济宁市| 阿拉善左旗| 河津市| 博乐市| 盐边县|