1. 程式人生 > >二叉樹之遍歷:廣度遍歷與深度遍歷

二叉樹之遍歷:廣度遍歷與深度遍歷

二叉樹,是Python重要的資料結構,依次獲取二叉樹的所有節點,就需要用遍歷的方法來實現.

廣度遍歷
對每一層節點依次訪問,訪問完一層進入下一層,而且每個節點只能訪問一次。以下圖為例,我們要遍歷A,第一層遍歷BCDE,第二次遍歷FGHI,第三層遍歷JKLM.
需要用到佇列(Queue)來儲存節點物件,佇列的特點就是先進先出.
在這裡插入圖片描述

深度遍歷
對每一個可能的分支路徑深入到不能再深入為止,而且每個節點只能訪問一次.以下圖為例,我們要遍歷A,第一層遍歷BCDE,第二次遍歷HI,第三層遍歷LM,第四層遍歷FG,第五層遍JK.
需要使用到棧(Stack)這種資料結構,stack的特點是是先進後出.

在這裡插入圖片描述