バイナリ ツリーの順序トラバーサル
バイナリ ツリーの構造が次のとおりであると仮定します。配列添字 0 がルート ノード、1 が左の子ノード、2 が右の子ノードです。事前順序走査を実装しました。このバイナリ ツリーを順番に走査できるようにしたいと考えています。皆さんが私に良い方法を教えてくれることを願っています。
<br /> //二叉树结构<br /> $array=array("-",array("+",array("a"),array("*",array("b"),array("-",array("c"),array("d")))),array("/",array("e"),array("f")));<br /> echo "<pre class="brush:php;toolbar:false">";<br /> print_r($array);<br /> echo "";
/* 前序遍历 */<br /> function DLR($F) {<br /> if(isset($F[0])) echo $F[0];<br /> if(isset($F[1])) DLR($F[1]);<br /> if(isset($F[2])) DLR($F[2]);<br /> }<br /> /* 中序遍历 */<br /> function LDR($F) {<br /> if(isset($F[1])) LDR($F[1]);<br /> if(isset($F[0])) echo $F[0];<br /> if(isset($F[2])) LDR($F[2]);<br /> }<br /> /* 后序遍历 */<br /> function LRD($F) {<br /> if(isset($F[1])) LRD($F[1]);<br /> if(isset($F[2])) LRD($F[2]);<br /> if(isset($F[0])) echo $F[0];<br /> }<br />