本文
介绍了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
程序设计有所帮助。