日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

树,森林,二叉树的互相转换

發布時間:2023/12/4 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 树,森林,二叉树的互相转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

樹、森林到二叉樹的轉換

將樹轉換為二叉樹
樹中每個結點最多只有一個最左邊的孩子(長子)和一個右鄰的兄弟。按照這種關系很自然地就將樹轉換成相應的二叉樹:

  • 在所有兄弟結點之間加一連線
  • 對每個結點,除了保留與其長子的連線外,去掉該結點與其他孩子的連線

下面(a)圖所示的樹可轉換為?圖所示的二叉樹。

由于樹根沒有兄弟,故樹轉化為二叉樹后,二叉樹的根結點的右子樹必為空。

將一個森林轉換為二叉樹

  • 將森林中的每棵樹變為二叉樹
  • 因為轉換所得的二叉樹的根節點的右子樹均為空,故可將各二叉樹的根節點視為兄弟從左至右連在一起,就形成了一棵二叉樹

下圖中,左邊包含三棵樹的森林可轉換為右邊的二叉樹。

二叉樹到樹、森林的轉換

把二叉樹轉換到樹和森林的方式是:若結點x是雙親y的左孩子,則把x的右孩子,右孩子的右孩子,…,都與y用連線連起來,最后去掉所有雙親到右孩子的連線

下圖的森林就是由例2中二叉樹轉換成的。

例題

將森林轉換為對應的二叉樹,若在二叉樹中,結點u是結點v的父結點的父結點,則在原來的森林中,u和v可能具有的關系是: 1.父子關系; 2. 兄弟關系; 3. u的父結點與v的父結點是兄弟關系A.只有2 B.12 C.13 D.123

B
解析:
1.父子關系成立

2.兄弟關系成立
3.u的父節點與v的父節點是兄弟關系不成立

  • 將森林轉換為二叉樹的第一步是將每棵樹轉變為二叉樹:則第一步是在所有兄弟結點之間加一根線,第二步對每個結點,除保留與長子的連線,去掉該結點與其他孩子的連線;則若u父親與v父親是兄弟關系,必連線成為父子,由此u至多為v的父親的兄弟

總結

以上是生活随笔為你收集整理的树,森林,二叉树的互相转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。