Heim >Backend-Entwicklung >PHP-Tutorial > 二叉树的中序遍历,该怎么解决
二叉树的中序遍历
假设二叉树的结构如下面的数组,数组下标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 />