數據結構_知識點_樹、森林、二叉樹

1. 樹、森林的轉換

(1) 利用孩子兄弟表示法,所有的樹都可以用二叉樹表示。
(2) 森林由多棵樹組成,所有樹轉化二叉樹之后,將他們的根節點作為兄弟結點,再用孩子兄弟表示法,結合成一個二叉樹。

2. 樹和二叉樹的轉換

(1) 在兄弟結點之間加一連線
(2) 每一結點只保留與第一個結點的連線,其他的抹掉
(3) 以樹根為軸心,順時針旋轉45°
關于第三步:其實就是把形成的新樹按照二叉樹的樣子進行擺設(除了看起來順眼一點,毫無意義)見下圖

Paste_Image.png

此處提到的,樹轉換而成的二叉樹其右子樹一定為空,道理很簡單,右孩子是結點的兄弟結點,而樹的根節點是不可能存在兄弟結點的。

3. 樹和森林的遍歷

(1) 樹的遍歷:先根遍歷,后根遍歷。訪問根結點的先后
(2) 森林遍歷:先序遍歷(從第一棵樹開始,挨著先序遍歷),中序遍歷(從第一棵樹開始,挨著后序遍歷)。

4. 遍歷的等價關系

森林 二叉樹
先根遍歷 先序遍歷 先序遍歷
后根遍歷 中序遍歷 中序遍歷

森林的先序遍歷就是把所有樹先根遍歷一遍
森林的中序遍歷就是把所有樹后根遍歷一遍,所以轉變成二叉樹的遍歷方法一樣。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 數據結構和算法--二叉樹的實現 幾種二叉樹 1、二叉樹 和普通的樹相比,二叉樹有如下特點: 每個結點最多只有兩棵子...
    sunhaiyu閱讀 6,532評論 0 14
  • 1.樹(Tree): 樹是 n(n>=0) 個結點的有限集。當 n=0 時稱為空樹。在任意一顆非空樹中:有且僅有一...
    ql2012jz閱讀 1,054評論 0 3
  • 四、樹與二叉樹 1. 二叉樹的順序存儲結構 二叉樹的順序存儲就是用數組存儲二叉樹。二叉樹的每個結點在順序存儲中都有...
    MinoyJet閱讀 1,592評論 0 7
  • 概念 樹是什么 樹(Tree)是n(n>=0)個結點的有限集。 n = 0的樹是空樹。 在任意一棵非空樹中: 有且...
    剛剛悟道閱讀 5,151評論 1 16
  • 第一章 緒論 什么是數據結構? 數據結構的定義:數據結構是相互之間存在一種或多種特定關系的數據元素的集合。 第二章...
    SeanCheney閱讀 5,822評論 0 19