6.4.1-6.4.2树、森林、二叉树的转换
樹(shù)轉(zhuǎn)換成二叉樹(shù):
1.在樹(shù)中所有的兄弟結(jié)點(diǎn)之間加一連線(xiàn)。
2.對(duì)每個(gè)結(jié)點(diǎn),除了保留與其長(zhǎng)子的連線(xiàn)外,去掉該結(jié)點(diǎn)的其他孩子連線(xiàn)。
如下圖所示:
下面是森林轉(zhuǎn)化二叉樹(shù):
1.先將森林中的每棵樹(shù)變?yōu)槎鏄?shù)。
2.再將各二叉樹(shù)的根結(jié)點(diǎn)視為兄弟從左至右連接在一起,形成二叉樹(shù)。
我看可以知道,樹(shù)轉(zhuǎn)二叉樹(shù),根結(jié)點(diǎn)只有左子數(shù),森林轉(zhuǎn)二叉樹(shù),根結(jié)點(diǎn)既有左子樹(shù),又有右子樹(shù)。
二叉樹(shù)到樹(shù)、森林的轉(zhuǎn)化
1.若結(jié)點(diǎn)x是其雙親y的左孩子,則把x的右孩子,右孩子的右孩子......,都與y用連線(xiàn)連起來(lái)。
2.去除雙親所有右孩子的連線(xiàn)。
如下圖所示:
注意:判斷一顆二叉樹(shù)是轉(zhuǎn)化成樹(shù)還是森林,只要看二叉樹(shù)根結(jié)點(diǎn)有沒(méi)有右孩子,有的話(huà)就是森林,沒(méi)有就是樹(shù)。
總結(jié)
以上是生活随笔為你收集整理的6.4.1-6.4.2树、森林、二叉树的转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql查询出来的数据用连接_mysq
- 下一篇: 全国高等学校计算机等级用处,全国计算机等