遍歷概念
所謂 遍歷(Traversal) 是指沿著某條搜索路線
具體的應用問題
遍歷是二叉樹上最重要的運算之一
遍歷方案
從二叉樹的遞歸定義可知
種次序執行三個操作
(
(
(
以上三種操作有六種執行次序
NLR
注意
前三種次序與後三種次序對稱
根據訪問結點操作發生位置命名
① NLR
——訪問結點的操作發生在遍歷其左右子樹之前
② LNR
——訪問結點的操作發生在遍歷其左右子樹之中(間)
③ LRN
——訪問結點的操作發生在遍歷其左右子樹之後
注意
由於被訪問的結點必是某子樹的根
樹
遍歷算法
若二叉樹非空
(
(
(
若二叉樹非空
(
(
(
若二叉樹非空
(
(
(
用二叉鏈表做為存儲結構
void InOrder(BinTree T)
{ //算法裡①~⑥是為了說明執行過程加入的標號
① if(T) { // 如果二叉樹非空
② InOrder(T
③ printf(
④ InOrder(T
⑤ }
⑥ } // InOrder
From:http://tw.wingwit.com/Article/program/sjjg/201311/23884.html