亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

二叉樹簡單歸納(前序,中序,后序,層序遍歷,葉子數目,樹深度 )

2019-11-11 03:06:55
字體:
來源:轉載
供稿:網友

PRoblem Description 已知一個按先序序列輸入的字符序列,如abc,,de,g,,f,,,(其中逗號表示空節點)。請建立二叉樹并按中序和后序方式遍歷二叉樹,最后求出葉子節點個數和二叉樹深度。

Input 輸入一個長度小于50個字符的字符串。 Output 輸出共有7行: 第1行輸出前序遍歷序列; 第2行輸出中序遍歷序列; 第3行輸出后序遍歷序列; 第4行輸出層序遍歷序列; 第5行輸出葉子節點個數; 第6行輸出葉子節點(從上到下,從左到右); 第7行輸出二叉樹深度。

Example Input

abc,,de,g,,f,,,

Example Output

abcdegf cbegdfa cgefdba abcdefg 3 cfg 5

建樹

struct node *creat(struct node *t) { char c; c = str[i ++]; if (c == ',') t = NULL; else { t = (struct node *)malloc(sizeof(struct node)); t -> data = c; t -> l = creat(t -> l); t -> r = creat(t -> r); } return t; }

前序遍歷

void qianxu(struct node *t) { if (t != NULL) { printf("%c", t -> data); qianxu(t -> l); qianxu(t -> r); }}

中序遍歷

void zhonxu(struct node *t) { if (t != NULL) { zhonxu(t -> l); printf("%c",t -> data); zhonxu(t -> r); } }

后序遍歷

void houxu(struct node *t) { if (t != NULL) { houxu(t -> l); houxu(t -> r); printf("%c",t -> data); }}

層序遍歷

void cengxu(struct node *t) { int in = 0, out = 0; struct node *a[1050]; a[in ++] = t; while(in > out) { if (a[out] != NULL) { printf("%c",a[out] -> data); a[in ++] = a[out] -> l; a[in ++] = a[out] -> r; } out ++; } }

葉子個數

void num(struct node *t) { if (t != NULL) { if (t -> l == NULL && t -> r == NULL) count ++; else { num(t -> l); num(t -> r); } } }

葉子節點(從上到下,從左到右) 由層序遍歷修改而得

void cengxunum(struct node *t) { int in = 0; int out = 0; struct node *p[1050]; p[in ++] = t; while(in > out) { if (p[out] != NULL) { if (p[out] -> l == NULL &&p[out] -> r == NULL) { printf("%c",p[out] -> data); } else { p[in ++] = p[out] -> l; p[in ++] = p[out] -> r; } } out ++; } }

二叉樹深度

int depth(struct node *t) { int d1, d2; if (t != NULL) { d1 = depth(t -> l); d2 = depth(t -> r); if (d1 > d2) return d1 + 1; else return d2 + 1; } return 0; }

最終代碼:

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h> struct node { char data; struct node *l, *r; }tree; struct node *creat(struct node *t); void qianxu(struct node *t); void zhonxu(struct node *t); void houxu(struct node *t); void cengxu(struct node *t); void num(struct node *t); void cengxunum(struct node *t); int depth(struct node *t); char str[1050]; int i; int count = 0; int main() { while(scanf("%s",str)!=EOF) { i = 0; struct node *tree = NULL; tree = creat(tree); qianxu(tree); printf("/n"); zhonxu(tree); printf("/n"); houxu(tree); printf("/n"); cengxu(tree); printf("/n"); num(tree); printf("%d/n",count); cengxunum(tree); printf("/n"); int de; de = depth(tree); printf("%d/n",de); } return 0; } struct node *creat(struct node *t) { char c; c = str[i ++]; if (c == ',') t = NULL; else { t = (struct node *)malloc(sizeof(struct node)); t -> data = c; t -> l = creat(t -> l); t -> r = creat(t -> r); } return t; } void zhonxu(struct node *t) { if (t != NULL) { zhonxu(t -> l); printf("%c",t -> data); zhonxu(t -> r); } } void houxu(struct node *t) { if (t != NULL) { houxu(t -> l); houxu(t -> r); printf("%c",t -> data); }}void qianxu(struct node *t) { if (t != NULL) { printf("%c", t -> data); qianxu(t -> l); qianxu(t -> r); }}void cengxu(struct node *t) { int in = 0, out = 0; struct node *a[1050]; a[in ++] = t; while(in > out) { if (a[out] != NULL) { printf("%c",a[out] -> data); a[in ++] = a[out] -> l; a[in ++] = a[out] -> r; } out ++; } } void num(struct node *t) { if (t != NULL) { if (t -> l == NULL && t -> r == NULL) count ++; else { num(t -> l); num(t -> r); } } } void cengxunum(struct node *t) { int in = 0; int out = 0; struct node *p[1050]; p[in ++] = t; while(in > out) { if (p[out] != NULL) { if (p[out] -> l == NULL &&p[out] -> r == NULL) { printf("%c",p[out] -> data); } else { p[in ++] = p[out] -> l; p[in ++] = p[out] -> r; } } out ++; } } int depth(struct node *t) { int d1, d2; if (t != NULL) { d1 = depth(t -> l); d2 = depth(t -> r); if (d1 > d2) return d1 + 1; else return d2 + 1; } return 0; }
上一篇:Promise初見

下一篇:Instrumentation

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久人人爽人人爽人人片亚洲| 国产亚洲欧美一区| 欧美理论电影在线播放| 91久久国产精品91久久性色| 欧美激情乱人伦一区| 精品国产欧美一区二区五十路| 亚洲人成在线免费观看| 一本色道久久88精品综合| 久久久在线视频| 欧美黑人xxx| 97香蕉久久夜色精品国产| 日韩欧美中文免费| 92看片淫黄大片看国产片| 福利一区福利二区微拍刺激| 国产精品久久久久不卡| 国产成人小视频在线观看| 欧美裸体xxxxx| 亚洲国产高清福利视频| 亚洲精品国产福利| 欧美久久精品午夜青青大伊人| 亚洲一区二区三区在线视频| 亚洲成人黄色在线观看| 国产v综合ⅴ日韩v欧美大片| 欧美精品免费看| 国产成人精品av| 久久理论片午夜琪琪电影网| 午夜精品福利电影| 精品少妇一区二区30p| 亚洲视频999| 日本亚洲欧美成人| 欧美风情在线观看| 久久综合久久美利坚合众国| 久久福利视频网| 韩国视频理论视频久久| 国产一级揄自揄精品视频| 亚洲人成伊人成综合网久久久| 亚洲成人动漫在线播放| 国产香蕉精品视频一区二区三区| 久久精品2019中文字幕| 久久精品99久久久久久久久| 久久视频在线观看免费| 日韩中文字幕免费| 国产精品欧美亚洲777777| 日韩av影视综合网| 国产精品久久不能| 日韩风俗一区 二区| 欧美亚洲另类在线| 欧美超级免费视 在线| 亚洲乱码国产乱码精品精天堂| 欧美成年人视频网站欧美| 国产亚洲精品久久久久动| 国产精品扒开腿做爽爽爽男男| 国产精品视频免费在线| 欧美激情高清视频| 一本色道久久88综合亚洲精品ⅰ| 国产精品嫩草影院久久久| 亚洲精品国精品久久99热一| 亚洲欧美日韩区| 在线观看91久久久久久| 欧美另类极品videosbest最新版本| 久久久人成影片一区二区三区| 欧美夫妻性生活视频| 日本成熟性欧美| 久久久精品在线观看| 日韩在线观看网站| 这里精品视频免费| 国产做受69高潮| 亚洲国产精品国自产拍av秋霞| 日韩成人av在线| 日本久久亚洲电影| 欧美另类老肥妇| 亚洲视频在线观看网站| 亚洲国产成人精品久久久国产成人一区| 久久99视频精品| 日韩视频在线免费| 亚洲欧美精品在线| 黄色一区二区在线观看| 亚洲视频精品在线| 欧美日产国产成人免费图片| 狠狠色香婷婷久久亚洲精品| 欧美老肥婆性猛交视频| 久久精品国亚洲| 日韩大片免费观看视频播放| 高潮白浆女日韩av免费看| 亚洲欧美国产一本综合首页| 国产91久久婷婷一区二区| 国产香蕉精品视频一区二区三区| 亚洲精品日韩av| 日韩精品在线观看视频| 亚洲午夜久久久久久久| 午夜精品三级视频福利| 日韩欧美在线字幕| 最新国产精品拍自在线播放| www.午夜精品| 2020欧美日韩在线视频| 亚洲图片欧美日产| 欧美性生交xxxxxdddd| 国产精品女主播| 日韩欧美在线视频观看| 国产亚洲精品高潮| 久久97久久97精品免视看| 色综合男人天堂| 日本中文字幕成人| 精品国偷自产在线视频99| 亚洲精品国产精品国自产观看浪潮| 亚洲精品98久久久久久中文字幕| 日韩欧美成人精品| 国产精品自在线| 欧美在线xxx| 青草成人免费视频| 国产日韩欧美电影在线观看| 久久九九热免费视频| 日本伊人精品一区二区三区介绍| 热re91久久精品国99热蜜臀| 国产精品久久久av| 日韩va亚洲va欧洲va国产| 欧美精品激情blacked18| 免费av一区二区| 日韩大陆欧美高清视频区| 国产精品自拍小视频| 97精品国产91久久久久久| 久久综合免费视频| 日韩美女视频中文字幕| 精品福利樱桃av导航| 国产精品jvid在线观看蜜臀| 精品自拍视频在线观看| 亚洲欧美精品中文字幕在线| 茄子视频成人在线| 午夜剧场成人观在线视频免费观看| 欧洲亚洲妇女av| 欧美高清视频一区二区| 久久成人精品电影| 青青青国产精品一区二区| 欧美日韩人人澡狠狠躁视频| 精品国产91久久久| 日韩国产欧美精品一区二区三区| 日韩高清欧美高清| 欧美美最猛性xxxxxx| 九九热精品视频在线播放| 日韩美女视频在线观看| 91日韩在线播放| 亚洲美女久久久| 亚洲一区二区三区视频| 亚洲女人天堂色在线7777| 91性高湖久久久久久久久_久久99| 91亚洲国产成人精品性色| 久久影院免费观看| 粉嫩老牛aⅴ一区二区三区| 狠狠综合久久av一区二区小说| 欧美色道久久88综合亚洲精品| 亚洲的天堂在线中文字幕| 亚洲欧美日韩中文在线制服| 日韩一区二区精品视频| 亚洲伦理中文字幕| 国产精品永久免费在线| 成人伊人精品色xxxx视频| 欧美精品做受xxx性少妇| 国产精品男人的天堂| 成人午夜在线视频一区| 亚洲精品中文字幕av| 久久久久久久香蕉网| 欧美在线观看网站| 97精品国产91久久久久久| 亚洲黄色在线观看|