PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
发布时间:2020-12-12 22:21:17 所属栏目:PHP教程 来源:网络整理
导读:本篇章节讲解PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法。供大家参考研究具体如下: 先来看看前序遍历、中序遍历与后序遍历原理图: 根据树的前序遍历和中序遍历构造树并输出后序遍历代码如下: m_value=$preorder[0]; if(count($p
本篇章节讲解PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法。分享给大家供大家参考,具体如下: 先来看看前序遍历、中序遍历与后序遍历原理图: 根据树的前序遍历和中序遍历构造树并输出后序遍历代码如下: m_value=$preorder[0];
if(count($preorder)==1){
$headNode->m_left=null;
$headNode->m_right=null;
return $headNode;
}
array_shift($preorder);
$pos=array_search($headNode->m_value,$inorder);
$leftin=array_slice($inorder,$pos);
$rightin=array_slice($inorder,$pos+1);
$leftpre=array_slice($preorder,$pos);
$rightpre=array_slice($preorder,$pos);
$headNode->m_left=ConstructCore($leftpre,$leftin);
$headNode->m_right=ConstructCore($rightpre,$rightin);
return $headNode;
}
$pre=array(1,2,4,7,3,5,6,8);
$in=array(4,1,8,6);
$tree=ConstructCore($pre,$in);
function tail($tree){
if($tree->m_right!=null)
echo tail($tree->m_right);
if($tree->m_left!=null)
echo tail($tree->m_left);
echo $tree->m_value;
}
tail($tree);
?>
运行结果: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》 希望本文所述对大家PHP程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |