理论基础 —— 二叉树 —— 树、森林、二叉树的转换
生活随笔
收集整理的這篇文章主要介紹了
理论基础 —— 二叉树 —— 树、森林、二叉树的转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【概述】
從樹的孩子兄弟表示法和二叉樹的二叉鏈表表示可以看出,樹的孩子兄弟表示法實質上是二叉樹的二叉鏈表存儲形式,第一個孩子指針和右兄弟指針分別相當于二叉鏈表的左孩子指針和右孩子指針。
因此,從物理結構上看,樹的孩子兄弟表示法和二叉樹的二叉鏈表是相同的,只是解釋不同。
以二叉鏈表為媒介,可導出樹與二叉樹的對應關系,即給出一棵樹,可以找到唯一的一棵二叉樹與之對應,這樣樹的操作實現就可借助二叉樹存儲,利用二叉樹上的操作來實現。
【樹轉二叉樹】
將一棵樹轉為二叉樹的方法是:
根據樹與二叉樹的轉換關系以及二叉樹的遍歷操作可知:
- 樹的前序遍歷 <----> 二叉樹的前序遍歷
- 樹的后序遍歷 <----> 二叉樹的中序遍歷
【森林轉二叉樹】
森林是若干棵樹的集合,將森林中的每棵樹轉為二叉樹,再將每棵樹的根節點視為兄弟,這樣森林就轉成了二叉樹。
將一棵樹轉為二叉樹的方法是:
【二叉樹轉樹或森林】
樹和森林都能轉成二叉樹,二者的不同是樹轉成的二叉樹其根結點無右子樹,森林轉成的二叉樹其根結點有右子樹。
顯然,這一轉換過程是可逆的,即根據二叉樹的根結點有無右子樹,將其還原成樹或森林。
將一棵二叉樹轉成樹或森林的方法是:
【森林的遍歷】
森林有兩種遍歷方法:
- 前序遍歷:前序遍歷森林中的每一棵樹
- 后序遍歷:后序遍歷森林中的每一棵樹
總結
以上是生活随笔為你收集整理的理论基础 —— 二叉树 —— 树、森林、二叉树的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1048:有一门课不及
- 下一篇: 数论 —— 毕达哥拉斯三元组