PHP遍历,遍历树,遍历后序列根据树的前序遍历、中序法

PHP遍历,遍历树,遍历后序列根据树的前序遍历、中序法
本文介绍了php遍历和遍历树的一种方法,它是基于树的前序遍历和遍历树中的顺序

首先,看看前序遍历图,中序遍历和后序遍历。
树的先序遍历,遍历树的中间序列和输出序列的遍历的代码如下:
< PHP
类binarytreenode {
公共m_value美元;
公共m_left美元;
公共m_right美元;
}
功能constructcore(合序,以美元){
如果(计数(合序)=计数($,)| |!计数(合序)= = 0 | |计数($,)= = 0)
返回null;
$头=新BinaryTreeNode;
$头-> m_value = $序{ 0 };
如果(计数(合序)= = 1){
$头-> m_left = null;
$头-> m_right = null;
返回的头;
}
array_shift(合序);
POS = array_search美元(合头-> m_value,$,);
在美元= array_slice(美元,美元,0,POS);
在美元= array_slice($,,$ POS + 1);
leftpre美元= array_slice(合序,0,$ POS);
rightpre美元= array_slice(合序,为POS);
$头-> m_left = constructcore(leftpre美元,在美元);
$头-> m_right = constructcore(rightpre美元,在美元);
返回的头;
}
前阵(1,2,4,7,3,5,6,8)=美元;
美元=阵列(4,7,2,1,5,3,8,6);
美元树(前constructcore美元,美元);
函数尾($树){
如果(美元树-> m_right!= null)
回波尾部(美元树-> m_right);
如果(美元树-> m_left!= null)
回波尾部(美元树-> m_left);
echo $树-> m_value;
}
尾($树);
>

运行结果:
八十六百万五十三万七千四百和二十一
关于PHP相关内容的更多读者感兴趣的读者可以看到特别站:PHP数据结构和算法教程

希望本文能对PHP程序设计有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部