1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          樹的同構

          來源:互聯網轉載 時間:2024-01-29 07:53:36

          給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換后,就得到另外一棵樹。而圖2就不是同構的。


          圖1

          圖2

          現給定兩棵樹,請你判斷它們是否是同構的。

          輸入格式:

          輸入給出2棵二叉樹樹的信息。對于每棵樹,首先在一行中給出一個非負整數N(≤),即該樹的結點數(此時假設結點從0到N−1編號);隨后N行,第i行對應編號第i個結點,給出該結點中存儲的1個英文大寫字母、其左孩子結點的編號、右孩子結點的編號。如果孩子結點為空,則在相應位置上給出“-”。給出的數據間用一個空格分隔。注意:題目保證每個結點中存儲的字母是不同的。

          輸出格式:

          如果兩棵樹是同構的,輸出“Yes”,否則輸出“No”。

          輸入樣例1(對應圖1):

          8A 1 2B 3 4C 5 -D - -E 6 -G 7 -F - -H - -8G - 4B 7 6F - -A 5 1H - -C 0 -D - -E 2 -

          輸出樣例1:

          Yes

          輸入樣例2(對應圖2):

          8B 5 7F - -A 0 3C 6 -H - -D - -G 4 -E 1 -8D 6 -B 5 -E - -H - -C 0 2G - 3F - -A 1 4

          輸出樣例2:

          No
          算法實現及思路
          #include <stdio.h>#define MaxTree 10#define ElementType char#define Tree int#define Null -1//定義二叉樹的結點//采用結構數組存儲二叉樹struct TreeNode{ElementType Element;Tree left;Tree right;}T1[MaxTree],T2[MaxTree];int check[MaxTree];//check數組用來檢查誰是根節點//建樹函數Tree BuildTree(struct TreeNode T[]){int N,i;Tree Root=Null;char cl,cr;scanf("%d\n",&N);if(N){for(i=0;i<N;i++) check[i]=0;//初始check數組全部置0for(i=0;i<N;i++){scanf("%c %c %c\n", &T[i].Element,&cl,&cr);if(cl!='-'){T[i].left=cl-'0';check[T[i].left]=1;//指向的結點check值設置為1}else{T[i].left=Null;//若結點指向為空,則將left設置為-1}// 右結點同理if(cr!='-'){T[i].right=cr-'0';check[T[i].right]=1;}else{T[i].right=Null;}}for(i=0;i<N;i++){//若沒有任何結點指向的那一個結點 就是該樹的根節點if(!check[i]) break;}Root =i;//值賦給根并返回}return Root;}//遞歸比較左右結點是否相等,若兩結點相等int lsomorphic(Tree R1,Tree R2){//比較是否兩棵樹是否同構if((R1==Null)&&(R2==Null))//若同為空結點,返回1return 1;if(((R1==Null)&&(R2!=Null))||((R1!=Null)&&(R2==Null)))//若 一個空,一個不空,肯定不同構,返回0return 0;if(T1[R1].Element!=T2[R2].Element)//若兩結點不空,但是值不相等,肯定不同構,返回0return 0;if((T1[R1].left==Null)&&(T2[R2].left==Null))//若兩棵樹的結點都沒有左子樹,則比較右子樹return lsomorphic(T1[R1].right,T2[R2].right);//若兩棵樹的當前左結點相等,遞歸比較左右子結點if(((T1[R1].left!=Null)&&(T2[R2].left!=Null))&&((T1[T1[R1].left].Element)==(T2[T2[R2].left].Element)))return (lsomorphic(T1[R1].left,T2[R2].left)&&lsomorphic(T1[R1].right,T2[R2].right) );else//若左右子結點互換同構,則互換比較return (lsomorphic(T1[R1].left,T2[R2].right)&&lsomorphic(T1[R1].right,T2[R2].left));
          }int main(){ Tree R1,R2; R1=BuildTree(T1); R2=BuildTree(T2); if(lsomorphic(R1,R2)) printf("Yes\n"); else printf("No\n"); return 0;
          }
          標簽:樹的同構-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          無花果是周杰倫的歌嗎?自己的老板周杰倫已經出局了。他將于10月26日發行新專輯。我很期待!《十字架的咒語》的曲目:1.教堂祈禱2、燈影3、杰作4、海棠花5、放手6、現實7、按計劃玩8、靈魂9、無花果10、走廊盡頭11、最后一票(電影《灌籃》主題曲)12.因為籃球(電影《灌籃》集),周杰倫向記者透露,他的新專輯將于10月中下旬發行?!爸x謝你的等待,但我可以向你保證,我不會讓你失望的。雖然在創作上比較...

          木門的十大品牌?1 .蒙田木門蒙恬木門成立于1989年,是木門行業的領導品牌。;的木門行業。它生產的各種木材質量優良,深受許多消費者的喜愛。2.塔塔木門塔塔門業成立于1999年,隸屬于北京億泰同創實業有限公司旗下品牌。amp這是一個最早從事研發的企業之一。amp在研發和生產室內門,具有卓越的品質和巨大的市場競爭力。3.展志天華木門展志天華是一家專注木業26年的大型家居建材企業。作為航天部門的合作伙...

          w8.1天諾時空卡巴斯基2014怎樣激活?特別說明:Windows 8/Windows 8.1用戶需要進入安全模式才能激活,否則會提示管理員權限。進入安全模式的方法:開始運行(或win R),輸入msconfig單擊確定。單擊“引導”選中“安全引導”單擊“確定”重新啟動計算機。激活方式:拖動卡巴斯基2016激活碼(。Dat文件)進入“天諾時空卡巴斯基2016激活工具”激活成功。激活后,執行以下操作...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>