gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 31 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法。分享给大家供大家参考,具体如下:

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
class BinaryTreeNode{
   public $m_value ;
   public $m_left ;
   public $m_right ;
}
function ConstructCore( $preorder , $inorder ){
   if ( count ( $preorder )!= count ( $inorder ) || count ( $preorder )==0 || count ( $inorder )==0)
   return null;
   $headNode = new BinaryTreeNode;
   $headNode ->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 ,0, $pos );
   $rightin = array_slice ( $inorder , $pos +1);
   $leftpre = array_slice ( $preorder ,0, $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,7,2,1,5,3,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 );
?>

运行结果:

?
1
86537421

希望本文所述对大家PHP程序设计有所帮助.

原文链接:http://blog.csdn.net/jingbing082619/article/details/47373147 。

最后此篇关于PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法的文章就讲到这里了,如果你想了解更多关于PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com