從字面意思上看來,首先由兩個叉,因此簡單的來講就是每一個節點最多隻能有兩個叉。spa
-------------------------------------------------------------------------3d
圖:有向圖(有箭頭的) 無向圖(沒有箭頭) 環形圖(造成了環) 無環圖(沒有環) 有序對無序對blog
-------------------------------------------------------------------------遞歸
樹:有向無環圖(計算機中的樹和生活中的樹是相反的,頭部在上面)二叉樹
分類im
1.平衡二叉樹:任意一個節點,其左節點層數與右節點的層數相差不能爲一d3
2. 徹底二叉樹:除了葉子節點以外每一個節點都有兩個子節點總結
(葉子節點表示沒有子節點的節點)img
3. 滿二叉樹 計算機
(1) 全部的層都是滿的
(2) 要麼沒有子節點要麼就是滿的
代碼部分:
基本二叉樹結構
結果:
二叉樹的描述方式如圖:
前序: 首先訪問根節點(1,2,4,5,3,6)
大體查找順序(根節點->左節點->右節點)
-----------------------------------------------------------------------
中序: 中間訪問根節點(4,2,5,1,3,6)
大體查找順序(左節點->根節點->右節點)
-----------------------------------------------------------------------
後序: 最後訪問根節點(4,5,2,6,3,1)
大體查找順序(左節點->右節點->根節點)
-----------------------------------------------------------------------
注:給你前序和後序排列方式會出現多種
-----------------------------------------------------------------------
前序代碼的實現
中序代碼實現
後序代碼實現
總結:不管是前序、中序、後序都是一個遞歸的過程,只是打印的位置是不一樣的。
-----------------------------------------------------------------------
給定前中節點,還原二叉樹
前: 1 2 4 5 3 6
中: 4 2 5 1 3 6
給定前中節點,還原二叉樹
後: 4 5 2 6 3 1
中: 4 2 5 1 3 6