手机版

PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了服务器端编程语言(专业超文本预处理器的缩写)根据树的前序遍历和中序遍历构造树并输出后序遍历的方法。分享给大家供大家参考,具体如下:

先来看看前序遍历、中序遍历与后序遍历原理图:

根据树的前序遍历和中序遍历构造树并输出后序遍历代码如下:

?phpclass Binarytreenode { public $ m _ value;public $ m _ leftpublic $ m _ right}函数构造核心($ preorder,$ inoder){ if(count($ preorder)!=计数($ inoder)| |计数($ preorder)==0 | |计数($ inoder)==0)返回null$ headNode=新的BinaryTreeNode $ head node-m _ value=$ preorder[0];if(count($ preorder)=1){ $ head node-m _ left=null;$ HeAdNode-m _ right=null;返回$ HeAdNode } array _ shift($ preorder);$ pos=array _ search($ HeAdNode-m _ value,$ inoder);$leftin=array_slice($inorder,0,$ pos);$ rigin=array _ slice($按顺序,$ pos 1);$leftpre=array_slice($preorder,0,$ pos);$ right pre=array _ slice($ preorder,$ pos);$ head node-m _ left=construct core($ left pre,$ left in);$ head node-m _ right=construct core($ right pre,$ right in);返回$ headNode}$pre=array(1,2,4,7,3,5,6,8);$ in=数组(4,7,2,1,5,3,8,6);$tree=ConstructCore($pre,$ in);函数尾($tree){ if($tree-m_right!=null)回声尾部($ tree-m _ right);if($tree-m_left!=null)回声尾部($ tree-m _ left);echo $ tree-m _ value;} tail($ tree);运行结果:

86537421更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《PHP数据结构与算法教程》 、 《php程序设计算法总结》 、 《php字符串(string)用法总结》 、 《PHP数组(Array)操作技巧大全》 、 《PHP常用遍历算法与技巧总结》 及《PHP数学运算技巧总结》

希望本文所述对大家服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。

版权声明:PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。