欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP根據(jù)樹的前序遍歷和中序遍歷構(gòu)造樹并輸出后序遍歷的方法

 更新時(shí)間:2017年11月10日 11:24:28   作者:幻世2012  
這篇文章主要介紹了PHP根據(jù)樹的前序遍歷和中序遍歷構(gòu)造樹并輸出后序遍歷的方法,涉及php數(shù)據(jù)結(jié)構(gòu)與算法中關(guān)于數(shù)的遍歷相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP根據(jù)樹的前序遍歷和中序遍歷構(gòu)造樹并輸出后序遍歷的方法。分享給大家供大家參考,具體如下:

先來看看前序遍歷、中序遍歷與后序遍歷原理圖:

根據(jù)樹的前序遍歷和中序遍歷構(gòu)造樹并輸出后序遍歷代碼如下:

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

運(yùn)行結(jié)果:

86537421

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP實(shí)現(xiàn)PDO操作mysql存儲(chǔ)過程示例

    PHP實(shí)現(xiàn)PDO操作mysql存儲(chǔ)過程示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)PDO操作mysql存儲(chǔ)過程,結(jié)合具體實(shí)例形式分析了php使用pdo操作mysql存儲(chǔ)過程實(shí)現(xiàn)用戶注冊(cè)功能相關(guān)技巧,需要的朋友可以參考下
    2019-02-02
  • 利用PHP實(shí)現(xiàn)開心消消樂的算法示例

    利用PHP實(shí)現(xiàn)開心消消樂的算法示例

    開心消消樂應(yīng)該對(duì)大家來說都不陌生吧,下面這篇文章主要給大家介紹了關(guān)于如何利用PHP實(shí)現(xiàn)開心消消樂算法的相關(guān)資料,文中將需求和示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • php從身份證獲取性別和出生年月

    php從身份證獲取性別和出生年月

    本文主要介紹了php從身份證獲取性別和出生年月的方法。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • PHP序列化/對(duì)象注入漏洞分析

    PHP序列化/對(duì)象注入漏洞分析

    這篇文章主要為大家詳細(xì)介紹了PHP序列化/對(duì)象注入漏洞分析,PHP序列化/對(duì)象注入漏洞的利用,感興趣的小伙伴們可以參考一下
    2016-04-04
  • php逐行讀取txt文件寫入數(shù)組的方法

    php逐行讀取txt文件寫入數(shù)組的方法

    這篇文章主要介紹了php逐行讀取txt文件寫入數(shù)組的方法,涉及php文本文件及數(shù)組的相關(guān)操作技巧,需要的朋友可以參考下
    2015-07-07
  • phpstudy無法啟動(dòng)MySQL服務(wù)的解決方法

    phpstudy無法啟動(dòng)MySQL服務(wù)的解決方法

    個(gè)人比較懶,所以想到用phpstudy這個(gè)軟件進(jìn)行控制,但這個(gè)時(shí)候問題出現(xiàn)了:在下載phpstudy后想要啟動(dòng)MySQL服務(wù),但是總是無法啟動(dòng),所以本文給大家介紹了如何解決phpstudy無法啟動(dòng)MySQL服務(wù)的問題,需要的朋友可以參考下
    2024-06-06
  • php防攻擊代碼升級(jí)版

    php防攻擊代碼升級(jí)版

    我上一篇文章《最新開發(fā)的網(wǎng)站防IP攻擊代碼,超級(jí)有用》寫了一個(gè)完整的防止網(wǎng)絡(luò)惡意IP攻擊的方案,使用了一個(gè)月,效果良好。
    2010-12-12
  • php實(shí)現(xiàn)圖片等比例縮放代碼

    php實(shí)現(xiàn)圖片等比例縮放代碼

    本文給大家分享的是使用php實(shí)現(xiàn)的圖片等比例縮放的代碼,小伙伴們可以將其集成到圖片上傳中去,有需要的童鞋可以參考下。
    2015-07-07
  • PHP命名空間namespace及use的簡(jiǎn)單用法分析

    PHP命名空間namespace及use的簡(jiǎn)單用法分析

    這篇文章主要介紹了PHP命名空間namespace及use的簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了php命名空間的功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • PHP中合并數(shù)組的常見方法分享

    PHP中合并數(shù)組的常見方法分享

    相信各位phper在日常開發(fā)中,會(huì)經(jīng)常遇到需要合并數(shù)組的場(chǎng)景。那么,在php中都有哪一些方法可以用來合并數(shù)組呢,本文為大家進(jìn)行了一個(gè)總結(jié),希望對(duì)大家有所幫助
    2022-11-11

最新評(píng)論