• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法

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

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

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

    ?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);
    ?>
    
    

    运行结果:

    86537421

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》

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

    您可能感兴趣的文章:
    • php遍历树的常用方法汇总
    • PHP实现二叉树的深度优先与广度优先遍历方法
    • php通过前序遍历树实现无需递归的无限极分类
    • php FLEA中二叉树数组的遍历输出
    • PHP实现的线索二叉树及二叉树遍历方法详解
    • php实现的二叉树遍历算法示例
    • PHP ClassObject -- PHP 自排序二叉树的深入解析
    • PHP构造二叉树算法示例
    • PHP完全二叉树定义与实现方法示例
    上一篇:PHP简单实现循环链表功能示例
    下一篇:PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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