二叉樹的遍歷【 詳細講解 】
二叉樹的遍歷
一共有4種遍歷
先看圖,對於這個圖進行4種遍歷的講解
1、 先序遍歷
定義:若二叉樹為空,則空操作;否則
(1)訪問根節點(2)先序遍歷左子樹(3)先序遍歷右子樹
根據定義我需要解釋一下,定義很簡單,其實定義是對於每一
子樹而言的,我們先遍歷A然後B,這時候我們不能遍歷C結點,因為B結點是它下面子樹的根節點,把B看成根節點進行訪問,B->D,下面我們當然是把D結點看成根節點,不能訪問E結點,需要訪問H,再把H結點看成根節點,因為下面為空,那麼就訪問I 結點->E,把E結點再次看成根節點進行定義的方式的訪問->J,其實它的本質從大家到小家,從小家再到小小家一直這樣訪問下去
訪問的順序:A B D H I E J C F K G
2、 中序遍歷
定義:若二叉樹為空,則空操作;否則
(1)中序遍歷的左子樹(2)訪問根節點(3)中序訪問的右子樹
還是那樣的思想,把每次訪問看成一個小家,進行訪問:
我們需要先訪問左節點,先找到根節點A->B,把B看成根節點->D
,把D看成根節點->H,這時候我們就找到第一個左節點,那就首先訪問H根據定義來->D->I,那下面訪問哪一個,我們已經訪問完了已D為根節點的小家,D又是上面大家的左節點,那就需要訪問大家的根節點B,然後訪問E,其實不應該是E,應為已E為根節點的小家,左節點為空,那就下一步為結點E,然後J,……
訪問的順序:H D I B E J A F K C G
3、 後序遍歷
定義:定義:若二叉樹為空,則空操作;否則
(1)後序遍歷的左子樹(2)後序遍歷的右子樹(3)訪問根節點
不在詳細解釋了,按照前面的思想,本質就是,大家找小家,小家找小小家……
訪問順序: H I D J E B K F G C A
4、 層序遍歷
不用多說大家都會吧
訪問順序:A B C D E F G H I J K