最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP完全二叉樹定義與實(shí)現(xiàn)方法示例

 更新時(shí)間:2017年10月09日 09:50:28   作者:CyborgLin  
這篇文章主要介紹了PHP完全二叉樹定義與實(shí)現(xiàn)方法,簡(jiǎn)單描述了完全二叉樹的概念并結(jié)合實(shí)例形式給出了完全二叉樹的定義、節(jié)點(diǎn)查找、添加、設(shè)置、打印等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP完全二叉樹定義與實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

若設(shè)二叉樹的深度為h,除第 h 層外,其它各層 (1~h-1) 的結(jié)點(diǎn)數(shù)都達(dá)到最大個(gè)數(shù),第 h 層所有的結(jié)點(diǎn)都連續(xù)集中在最左邊,這就是完全二叉樹。

PHP代碼實(shí)現(xiàn)(暫時(shí)實(shí)現(xiàn)添加節(jié)點(diǎn)、層次遍歷節(jié)點(diǎn),刪除節(jié)點(diǎn)后續(xù)更新)

<?php
class Node{
  public $value;
  public $leftNode;
  public $rightNode;
}
/* 找到空節(jié)點(diǎn) */
function findEmpytNode($node, $parent = null){
  if(empty($node->value)){
    return $node;
  }else{
    if(empty($node->leftNode->value)){
      return $node->leftNode;
    }else if(empty($node->rightNode->value)){
      return $node->rightNode;
    }else{
      if(empty($parent) || $node->value == $parent->rightNode->value){
        return findEmpytNode($node->leftNode, $node);
      }else{
        return findEmpytNode($parent->rightNode, $node);
      }
    }
  }
}
/* 添加節(jié)點(diǎn) */
function addNode($node, $value){
  $emptyNode = findEmpytNode($node);
  setNode($emptyNode, $value);
}
/* 設(shè)置節(jié)點(diǎn) */
function setNode($node, $value){
  $node->value = $value;
  $node->leftNode = new Node();
  $node->rightNode = new Node();
}
/* 打印 */
function printTree($node, $parent = null){
  if(empty($node->value)) return ;
  echo $node->leftNode->value;
  echo $node->rightNode->value;
  if(empty($parent) || $node->value == $parent->rightNode->value){
    printTree($node->leftNode, $node);
  }else{
    printTree($parent->rightNode, $node);
  }
}
$head = new Node();
setNode($head, 1);
addNode($head, 2);
addNode($head, 3);
addNode($head, 4);
addNode($head, 5);
addNode($head, 6);
printTree($head);

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《PHP基本語(yǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總

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

相關(guān)文章

  • php使用curl詳細(xì)解析及問(wèn)題匯總

    php使用curl詳細(xì)解析及問(wèn)題匯總

    CURL是一個(gè)非常強(qiáng)大的開源庫(kù),支持很多協(xié)議,包括HTTP、FTP、TELNET等,我們使用它來(lái)發(fā)送HTTP請(qǐng)求。它給我 們帶來(lái)的好處是可以通過(guò)靈活的選項(xiàng)設(shè)置不同的HTTP協(xié)議參數(shù),并且支持HTTPS。CURL可以根據(jù)URL前綴是“HTTP” 還是“HTTPS”自動(dòng)選擇是否加密發(fā)送內(nèi)容。
    2016-08-08
  • PHP設(shè)計(jì)模式之解釋器模式淺析

    PHP設(shè)計(jì)模式之解釋器模式淺析

    解釋器模式,它是什么呢?意思就是,給定一個(gè)語(yǔ)言, 定義它的文法的一種表示,并定義一個(gè)解釋器,該解釋器使用該表示來(lái)解釋語(yǔ)言中的句子,這是最實(shí)在的一種說(shuō)法。我們還可以理解為它是用于分析一個(gè)實(shí)體的關(guān)鍵元素,并且針對(duì)每個(gè)元素提供自己的解釋或相應(yīng)動(dòng)作
    2023-04-04
  • 學(xué)習(xí)php設(shè)計(jì)模式 php實(shí)現(xiàn)策略模式(strategy)

    學(xué)習(xí)php設(shè)計(jì)模式 php實(shí)現(xiàn)策略模式(strategy)

    這篇文章主要介紹了php設(shè)計(jì)模式中的適配器模式,使用php實(shí)現(xiàn)適配器模式,感興趣的小伙伴們可以參考一下
    2015-12-12
  • php關(guān)聯(lián)數(shù)組快速排序的方法

    php關(guān)聯(lián)數(shù)組快速排序的方法

    這篇文章主要介紹了php關(guān)聯(lián)數(shù)組快速排序的方法,涉及php數(shù)組排序的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 利用PHP生成靜態(tài)html頁(yè)面的原理

    利用PHP生成靜態(tài)html頁(yè)面的原理

    現(xiàn)在很多網(wǎng)站系統(tǒng),如dedecms、phpcms、帝國(guó)等知名內(nèi)容管理系統(tǒng)都提供生成靜態(tài)頁(yè)面的功能,這不光有利于搜索引擎的抓取,而且還能有效降低服務(wù)器壓力。對(duì)于學(xué)習(xí)PHP,將要從事WEB網(wǎng)站開發(fā)的朋友們來(lái)說(shuō),了解這個(gè)功能是必須的,下面來(lái)分享一下PHP生成靜態(tài)頁(yè)面的原理。
    2016-09-09
  • PHP 緩存實(shí)現(xiàn)代碼及詳細(xì)注釋

    PHP 緩存實(shí)現(xiàn)代碼及詳細(xì)注釋

    PHP緩存實(shí)現(xiàn),實(shí)現(xiàn)了apc和文件緩存,繼承Cache_Abstract即可實(shí)現(xiàn)調(diào)用第三方的緩存工具。參考shindig的緩存類和apc。
    2010-05-05
  • 細(xì)談php中SQL注入攻擊與XSS攻擊

    細(xì)談php中SQL注入攻擊與XSS攻擊

    通常在編程中程序員要考慮的問(wèn)題不僅是代碼效率與代碼復(fù)用性,而且還要考慮一些安全問(wèn)題
    2012-06-06
  • php簡(jiǎn)單實(shí)現(xiàn)短網(wǎng)址(短鏈)還原的方法(測(cè)試可用)

    php簡(jiǎn)單實(shí)現(xiàn)短網(wǎng)址(短鏈)還原的方法(測(cè)試可用)

    這篇文章主要介紹了php簡(jiǎn)單實(shí)現(xiàn)短網(wǎng)址還原的方法,以腳本之家短網(wǎng)址http://t.cn/heEHwk為例介紹了php還原短網(wǎng)址的實(shí)現(xiàn)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2016-05-05
  • PHP實(shí)現(xiàn)在線閱讀PDF文件的方法

    PHP實(shí)現(xiàn)在線閱讀PDF文件的方法

    這篇文章主要介紹了PHP實(shí)現(xiàn)在線閱讀PDF文件的方法,可實(shí)現(xiàn)在線讀取并顯示pdf文件的功能,需要的朋友可以參考下
    2015-06-06
  • hadoop中一些常用的命令介紹

    hadoop中一些常用的命令介紹

    本篇文章是對(duì)hadoop中一些常用的命令進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論

盘山县| 姜堰市| 湘乡市| 新民市| 乐山市| 常宁市| 香河县| 中超| 密山市| 定结县| 清镇市| 阜新市| 准格尔旗| 冕宁县| 东莞市| 从江县| 六盘水市| 郑州市| 紫阳县| 阿合奇县| 凤山县| 翁牛特旗| 广宁县| 阜新| 临桂县| 武乡县| 嘉黎县| 酒泉市| 黑河市| 墨竹工卡县| 桃江县| 石台县| 湄潭县| 江油市| 吐鲁番市| 永和县| 开封县| 斗六市| 卓资县| 含山县| 阳原县|