遍歷的過程就是把非線性結構的二叉樹中的結點排成一個線性序列的過程。
二叉樹遍歷方法可分為兩大類,一類是“寬度優先”法,即從根結點開始,由上到下,從左往右一層一層的遍歷;另一類是“深度優先法”,即一棵子樹一棵子樹的遍歷。
從二叉樹結構的整體看,二叉樹可以分為根結點,左子樹和右子樹三部分,只要遍歷了這三部分,就算遍歷了二叉樹。設D表示根結點,L表示左子樹,R表示右子樹,則DLR的組合共有6種,即DLR,DRL,LDR,LRD,RDL,RLD。若限定先左后右,則只有DLR,LDR,LRD三種,分別稱為先(前)序法(先根次序法),中序法(中根次序法,對稱法),后序法(后根次序法)。三種遍歷的遞歸算法如下:
1.先序法(DLR)
若二叉樹為空,則空操作,否則:訪問根結點,先序遍歷左子樹,先序遍歷右子樹。
2.中序法(LDR)
若二叉樹為空,則空操作,否則:中序遍歷左子樹,訪問根結點,中序遍歷右子樹.
3.后序法(LRD)
若二叉樹為空,則空操作,否則:后序遍歷左子樹,后序遍歷右子樹,訪問根結點。