【正文】
lchild data parent rchild A B C D E F G A B C D E F G ^ ^ ^ ^ ^ ^ ^ ^ ^ 二叉樹的存儲(chǔ)結(jié)構(gòu) –樹的遍歷 ? 遍歷 ——按 一定規(guī)律 走遍樹的各個(gè)頂點(diǎn),且使每一頂點(diǎn)僅 被訪問一次 ,即找一個(gè)完整而有規(guī)律的走法,以得到樹中所有結(jié)點(diǎn)的一個(gè)線性排列 ? 常用方法 –先根 (序)遍歷:先訪問樹的根結(jié)點(diǎn),然后依次先根遍歷根的每棵子樹 –后根 (序)遍歷:先依次后根遍歷每棵子樹,然后訪問根結(jié)點(diǎn) –按 層次 遍歷:先訪問第一層上的結(jié)點(diǎn),然后依次遍歷第二層, ……第 n層的結(jié)點(diǎn) 樹的遍歷 A B C D E F G H I J K L M N O 先序遍歷: 后序遍歷: 層次遍歷: A B E F I G C D H J K L N O M E I F G B C J K N O L M H D A A B C D E F G H I J K L M N O 樹的遍歷 ? 方法 –先 序遍歷:先訪問根結(jié)點(diǎn) ,然后分別先序遍歷左子樹、右子樹 –中 序遍歷:先中序遍歷左子樹,然后訪問根結(jié)點(diǎn),最后中序遍歷右子樹 –后 序遍歷:先后序遍歷左、右子樹,然后訪問根結(jié)點(diǎn) –按 層次 遍歷:從上到下、從左到右訪問各結(jié)點(diǎn) D L R LDR、 LRD、 DLR 二叉樹的遍歷 D L R A D L R D L R B D C D L R 先序遍歷序列: A B D C A D B C 先序遍歷 : 二叉樹的遍歷 L D R B L D R L D R A D C L D R 中序遍歷序列: B D A C A D B C 中序遍歷 : 二叉樹的遍歷 A D B C L R D L R D L R D A D C L R D 后序遍歷序列: D B C A 后序遍歷 : B 二叉樹的遍歷 + / a * b e f c d 先序遍歷 : 中序遍歷: 后序遍歷: 層次遍歷 : + a * b c d / e f + a * b c d / e f + a * b c d / e f + a * b c d / e f 二叉樹的遍歷 總結(jié) ?樹的定義以及基本術(shù)語