數據結構與算法學習整理(一):二叉樹

二叉樹分類

滿二叉樹:所有節點都有左子樹和右子樹,且葉子節點都在同一層上;
完全二叉樹:若設二叉樹的深度爲h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊,這就是完全二叉樹。

四種遍歷方式

  以下圖說明幾種不同遍歷方式的輸出:
在這裏插入圖片描述

(1)前序遍歷

  從根節點出發,先左子樹遍歷後右子樹遍歷的方式,第一次遇到的節點數據就輸出: ABDECF

(2)中序遍歷

  從根節點出發,先左子樹遍歷後右子樹遍歷的方式,第二次遇到的節點數據就輸出:DBEAFC

(3)後序遍歷

  從根節點出發,先左子樹遍歷後右子樹遍歷的方式,第三次遇到的節點數據就輸出:DEBFCA

(4)層序遍歷

  從根節點出發,一層一層地先左子樹後右子樹的方式,輸出節點數據爲:ABCDEF

其中比較繞的一點在於葉子節點,葉子節點雖然沒有子節點,但遍歷時也會去尋找左子節點和右子節點,這樣就會產生三次訪問,故中序遍歷和後序遍歷的第一個節點是底層的左葉子節點,後面的類似。

前序遍歷第一個節點爲根節點,後序遍歷最後一個節點爲根節點,中序遍歷中根節點左右兩邊分別是左子樹和右子樹,所以一般可根據兩個遍歷結果畫出二叉樹結構。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章