麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)之查找一:二叉排序樹

2019-11-10 19:25:55
字體:
供稿:網(wǎng)友

think: 1 判斷兩個(gè)二叉搜索樹是否相同的函數(shù)中注意判斷二叉搜索樹rt1和二叉搜索樹rt2是否為空

sdut原題鏈接

數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)之查找一:二叉排序樹 Time Limit: 400MS Memory Limit: 65536KB

PRoblem Description 對應(yīng)給定的一個(gè)序列可以唯一確定一棵二叉排序樹。然而,一棵給定的二叉排序樹卻可以由多種不同的序列得到。例如分別按照序列{3,1,4}和{3,4,1}插入初始為空的二叉排序樹,都得到一樣的結(jié)果。你的任務(wù)書對于輸入的各種序列,判斷它們是否能生成一樣的二叉排序樹。

Input 輸入包含若干組測試數(shù)據(jù)。每組數(shù)據(jù)的第1行給出兩個(gè)正整數(shù)N (n < = 10)和L,分別是輸入序列的元素個(gè)數(shù)和需要比較的序列個(gè)數(shù)。第2行給出N個(gè)以空格分隔的正整數(shù),作為初始插入序列生成一顆二叉排序樹。隨后L行,每行給出N個(gè)元素,屬于L個(gè)需要檢查的序列。 簡單起見,我們保證每個(gè)插入序列都是1到N的一個(gè)排列。當(dāng)讀到N為0時(shí),標(biāo)志輸入結(jié)束,這組數(shù)據(jù)不要處理。

Output 對每一組需要檢查的序列,如果其生成的二叉排序樹跟初始序列生成的二叉排序樹一樣,則輸出”Yes”,否則輸出”No”。

Example Input 4 2 3 1 4 2 3 4 1 2 3 2 4 1 2 1 2 1 1 2 0

Example Output Yes No No

Hint

Author xam

以下為accepted代碼

#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct node{ int date; struct node *left; struct node *right;}BinTree;BinTree *root = NULL;int flag;BinTree * Insert(BinTree *rt, int x)//二叉搜索樹的插入算法{ if(!rt){/* 若原樹為空,生成并返回一個(gè)結(jié)點(diǎn)的二叉搜索樹*/ rt = (BinTree *)malloc(sizeof(BinTree)); rt->date = x; rt->left = rt->right = NULL; } else/* 開始找要插入元素的位置*/ { if(x < rt->date) { rt->left = Insert(rt->left, x);//遞歸插入左子樹 } else if(x > rt->date) { rt->right = Insert(rt->right, x);//遞歸插入右子樹 } } return rt;}void judge(BinTree *rt1, BinTree *rt2)//判斷兩個(gè)二叉搜索樹是否相同{ if(rt1 == NULL || rt2 == NULL)///判斷二叉搜索樹rt1和二叉搜索樹rt2是否為空 return; if(rt1 && rt2) { if(rt1->date != rt2->date) return; else { flag++; judge(rt1->left, rt2->left); judge(rt1->right, rt2->right); } }}int main(){ int n, m, i, x; while(scanf("%d", &n) != EOF && n) { scanf("%d", &m); for(i = 0; i < n; i++) { scanf("%d", &x); root = Insert(root, x);//調(diào)用二叉搜索樹的插入算法 } while(m--) { BinTree *root1 = NULL; for(i = 0; i < n; i++) { scanf("%d", &x); root1 = Insert(root1, x);//調(diào)用二叉搜索樹的插入算法 } flag = 0;///初始化 judge(root, root1); if(flag == n) printf("Yes/n"); else printf("No/n"); } } return 0;}/***************************************************User name: jk160630Result: AcceptedTake time: 0msTake Memory: 104KBSubmit time: 2017-02-08 14:50:32****************************************************/
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人羞羞视频在线观看免费 | 娇喘视频在线观看 | 色网站免费观看 | 国产一级aaa全黄毛片 | 免费观看国产精品视频 | 色婷婷av一区二区三区久久 | 色阁阁69婷婷 | 亚洲欧美日韩在线 | 99麻豆久久久国产精品免费 | 五月天影院,久久综合, | 亚洲欧美日韩中文在线 | 欧美成人一级 | 久久精品伊人网 | 亚洲成人黄色片 | 亚洲综合91| 黄色大片网站在线观看 | 欧美日韩高清一区二区三区 | 欧美日韩免费一区 | 一级黄色毛片a | 久久久青 | 精品国产一区二区三区成人影院 | 国产高潮好爽受不了了夜色 | www.91成人| a免费视频 | 国产一级做a | av在线直播观看 | 久久里面有精品 | 成人在线不卡 | 久久精品日韩一区 | 国产99视频精品免视看9 | 久久精品爱| 国产精品影视 | 精品亚洲二区 | 精品成人在线 | 国产色片| 欧美精品一区二区三区四区 | 久久精品在线免费观看 | 91精品国产91久久久 | 一级黄片毛片免费看 | 亚洲成人激情av | 久久99精品久久久久久236 |