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

首頁 > 編程 > C++ > 正文

判斷兩顆二叉樹是否相似的兩種方法

2020-05-23 12:53:35
字體:
來源:轉載
供稿:網友

名稱:判斷兩個二叉樹是否相似

說明:此處的兩個方法一個是非遞歸,一個是遞歸算法。其實兩個算法的本質思路是一樣的就是,判斷位置相同的兩個結點是否同時為空或同時不為空。只是具體的實現不一樣。

對于層次遍歷法:此處不小心用錯了,本應該用隊列來當作排列下一層元素的。歪打正著,此處用棧也可以,只是判斷的結點順序不一樣。隊列的話,是從每一層的左端到右端。棧的話,是從右端到左端。在此處都沒影響。我去,有發現一點,要從右到左訪問一層的元素的話,應該用棧。

對于遞歸,看起來比非遞歸要簡單不少?;镜乃悸泛芎唵危⒁獾氖?,在程序需要從子樹接收返回是否相似的信息。這樣的話,有一個問題,就是必須等樹完全判斷完才可以最終返回。不想上面的,過程中發現不一樣就可以立即返回了。

//層次遍歷法判斷兩棵樹是否相似bool IsSemblable1(BiTree T1,BiTree T2){  stack<BiTNode* > _sta1,_sta2;  //用來存放下一層元素的容器,此處棧和隊列都行  BiTNode *p1 = T1,*p2 = T2;   //p1用來跟蹤T1,p2用來跟蹤T2  while((_sta1.empty() == false || p1 != NULL) &&(_sta2.empty() == false || p2 != NULL))  {    if(p1 != NULL && p2 != NULL )  //如果p1和p2都不為空時    {      if(p1->lchild != NULL && p2->lchild != NULL)  //如果p1和p2的左子樹都不為空時      {        _sta1.push(p1->lchild);        _sta2.push(p2->lchild);      }      else if( p1->lchild != NULL || p2->lchild != NULL)  //如果p1的左子樹為空,但是p2的左子樹不為空,或者相反        return false;      if(p1->rchild != NULL && p2->rchild != NULL)   //如果p1和p2的右子樹都不為空時      {        _sta1.push(p1->rchild);        _sta2.push(p2->rchild);      }      else if(p1->rchild != NULL || p2->rchild != NULL)  //如果p1的右子樹為空,但是p2的右子樹不為空,或者相反        return false;      //訪問完兩棵樹的當前結點后,置空讓下一次循環彈出棧中元素(此處其實直接彈出元素也行)      p1 = NULL;      p2 = NULL;    }    else if(p1 != NULL || p2 != NULL)    //當前節點有一個為空      return false;    else    {      //彈出兩個樹的棧頂元素      p1 = _sta1.top();      p2 = _sta2.top();      _sta1.pop();      _sta2.pop();    }  }  return true;}
//遞歸判斷兩棵樹是否相似bool IsSemblable2(BiTree T1,BiTree T2){  bool leftS = false,rightS = false;   //用來接受子樹返回的信息  if(T1 == NULL && T2 == NULL)    //兩個結點都為空    return true;  else if(T1 == NULL || T2 == NULL)  //有一個結點不為空    return false;  else  {    int leftS = IsSemblable2(T1->lchild,T2->lchild);  //遞歸左子樹    int rightS = IsSemblable2(T1->rchild,T2->rchild);  //遞歸右子樹    return leftS && rightS ;  //返回兩個子樹的信息  }}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品网站入口| 97在线观看免费高清| 亚洲自拍偷拍福利| 久久6免费高清热精品| 国产精品专区h在线观看| 亚洲视频综合网| 国产精品日韩在线观看| 成人国产精品免费视频| 久久久久久久久中文字幕| 欧美激情精品久久久久久大尺度| 日韩中文综合网| 伦伦影院午夜日韩欧美限制| 久久99热精品| 中文字幕亚洲欧美日韩高清| www日韩中文字幕在线看| 亚洲bt欧美bt日本bt| 欧美夫妻性生活xx| 97激碰免费视频| 国产视频综合在线| 91成人天堂久久成人| 欧美日韩午夜视频在线观看| 久久久视频精品| 成人午夜两性视频| 粉嫩av一区二区三区免费野| 久久精品在线播放| 91在线精品播放| 国自产精品手机在线观看视频| 亚洲美腿欧美激情另类| 国产精品热视频| x99av成人免费| 亚洲午夜久久久久久久| 亚洲精品国产综合区久久久久久久| 亚洲欧美中文日韩在线v日本| 欧美性生交xxxxxdddd| 日韩激情av在线免费观看| 亚洲欧美激情在线视频| 欧美影院在线播放| 日韩欧美精品免费在线| 日韩美女写真福利在线观看| 成人激情免费在线| 91九色视频导航| 国产精品免费视频xxxx| 国产在线观看不卡| 欧美美女操人视频| 国内自拍欧美激情| 欧美性少妇18aaaa视频| 亚洲欧美日韩中文视频| 欧美日韩精品国产| 中文字幕久精品免费视频| 亚洲国产欧美久久| 亚洲成av人片在线观看香蕉| 精品视频在线播放色网色视频| 日韩hd视频在线观看| 亚洲欧美国产精品va在线观看| 一个人看的www久久| 欧美成人免费视频| 久久久97精品| 91av在线国产| 亚洲精品久久久久久下一站| 欧美韩日一区二区| 亚洲成人免费在线视频| 亚洲欧美另类自拍| 亚洲欧美精品中文字幕在线| 疯狂欧美牲乱大交777| 久久成人人人人精品欧| 黑人巨大精品欧美一区二区| 国产精品ⅴa在线观看h| 91精品国产综合久久香蕉| 国产精品视频导航| 亚洲国产精品福利| 久久精品视频免费播放| 91社影院在线观看| 亚洲香蕉av在线一区二区三区| xxxxxxxxx欧美| 欧美日韩性生活视频| 久久久久中文字幕2018| 欧美精品videosex极品1| 91精品国产综合久久香蕉922| 国产精品久久久久久久久久尿| 国产精品日本精品| 全亚洲最色的网站在线观看| 欧美在线激情网| 亚洲精选中文字幕| 亚洲欧美国产精品va在线观看| 久久香蕉精品香蕉| 国产精品免费久久久久久| 国产91免费看片| 国产精品第10页| 成人福利在线观看| 国产精品视频免费观看www| 欧美激情亚洲自拍| 亚洲成人a级网| 欧美激情三级免费| 亚洲成人在线视频播放| 97av在线视频| 欧美成人免费在线视频| 欧美激情国产日韩精品一区18| 亚洲精品国产精品乱码不99按摩| 国产成人精品在线播放| 亚洲一区二区三区在线免费观看| 欧美高清无遮挡| 91亚洲国产成人久久精品网站| 国内精久久久久久久久久人| 欧美电影免费观看| 日韩在线资源网| 欧美一级视频在线观看| 国产精品一区二区久久精品| 亚洲爱爱爱爱爱| 成人免费淫片视频软件| 91国内揄拍国内精品对白| 亚洲免费成人av电影| 欧美性猛交xxxx免费看久久久| 日韩成人在线免费观看| 一区二区三区黄色| 欧美日韩福利在线观看| 午夜精品久久久久久久久久久久久| 欧美日韩国产精品| 亚洲网在线观看| 亚洲精品女av网站| 色无极影院亚洲| 91久久精品美女高潮| 欧美成人高清视频| 久久久久久久激情视频| 大伊人狠狠躁夜夜躁av一区| 日韩av观看网址| 国模视频一区二区三区| 成人av.网址在线网站| 日韩中文字幕国产精品| 91九色在线视频| 日韩av综合网站| 欧美成人激情在线| 国产欧美亚洲视频| 亚洲国产精品电影在线观看| 欧美一区二粉嫩精品国产一线天| 日韩av中文在线| 国产精品日本精品| 日韩中文字幕第一页| 久久免费在线观看| 久久久精品欧美| 欧美在线视频a| 亚洲国产精品女人久久久| 人体精品一二三区| 国产精品久久久久77777| 亚洲欧洲成视频免费观看| 亚洲成人xxx| 久久久精品欧美| 欧美成在线视频| 亚洲精品视频网上网址在线观看| 亚洲2020天天堂在线观看| 亚洲欧美国产另类| wwwwwwww亚洲| 日本精品一区二区三区在线播放视频| 亚洲午夜小视频| 久久久久国产精品www| 国产精品日韩一区| 亚洲第一色在线| 欧美视频二区36p| www国产亚洲精品久久网站| 亚洲激情成人网| 在线看国产精品| 九九九热精品免费视频观看网站| 久久免费视频网| 亚洲乱亚洲乱妇无码| 亚洲美女在线观看|